昨晚挑灯夜战收获真的不少,不但理解了重载和重写,对抽象和接口的认识也豁然开朗,让我把自己的小喜悦和大家分享下吧。
先说抽象,抽象类有三个要求:1.抽象类不能实例化,比如大家可以知道“猫”长什么样,“狗”长什么样,却无法表达出他们的抽象类“动物”长什么样;2.抽象方法必须被子类重写,通过重写实现多态,但不明白抽象方法abstract和虚方法virtual有什么不同;
3.如果类中包含抽象方法,那么类必须定义为抽象类。
抽象方法一般用于重构,比如我们实现了“猫”和“狗”这两个类,发现他们有很多相同的地方,比如都会跑,都会叫,都能吃东西。如果在每个类中依次实现,代码就显得有些冗余,此时我们可以从全局出发,生成一个抽象类“动物”,在“动物”中抽象出它们的共同特性,这样在子类重写父类即可,减少了代码的重复。它使用于两个相关的类之间的抽象。
再说接口,它从局部出发,使用于两个不相关的类之间的实现。比如“超人”和“孙悟空”都会飞,可他们没什么共同特性呀。这时我们可以声明一个“飞”的接口:
Interface IFly
{
Void Fly();
}
在“超人”和“孙悟空”中分别实现“飞”这个接口,这样就能解决上述问题了。
分享到:
相关推荐
用非常通俗的例子说明java中抽象和接口的应用。便于初学者的理解和应用。
【完整课程列表】 ... Java基础入门教程 Java编程技术01 java概述(2学时)(共27页).ppt Java基础入门教程 Java编程技术02 Java编程基础...Java基础入门教程 Java编程技术14 补充--对多态、抽象和接口的理解(共24页).ppt
类的高级特征对多态抽象和接口的理解学时PPT学习教案.pptx
Java编程技术课件:06类的高级特征(对多态、抽象和接口的理解2学时).pptx
此书对于你学习Java抽象类和接口有非常大的帮助
(3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类 (4) 具体派生类必须覆盖基类的抽象方法 (5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,...
Java中的类、抽象类和接口的区别和联系
抽象类和接口实验报告
希望能给大家带来方便,也希望大家能多上传资料共同学些
java实验
抽象类和接口 区别分析抽象类和接口 区别分析
学习java的抽象类和接口,入门抽象类和接口必须学会这些内容
我试图通过对SpringMVC的设计思想和源码实现的剖析,从抽象意义上的设计层和实现意义上的代码层两个,逐揭开SpringMVC神秘的纱,本任何个框架,都有特定
1. 设计并使用抽象类; 2.学习如何定义接口,掌握接口的实现方式,使用实现了接口的类; 3.理解接口与抽象类的区别。
本项目主要包括项目开发环境搭建、不同功能的类的设计、抽象类的设计、接口的设计、及其继承抽象类重写和接口实现类等具体功能的实现。 ●工程项目搭建与游戏初始化功能实现(2学时) ; ●动物城成员列表与动物信息...
抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
简单介绍了抽象类和接口
Java源代码:抽象类和接口 Java源代码:抽象类和接口