java中抽象类,接口,多态!

来源:互联网 发布:澳洲金融专业知乎 编辑:程序博客网 时间:2024/05/21 21:49

部分参考自:http://www.knowsky.com/539471.html

抽象类:

1.抽象类用abstract修饰
2.如果一个类里有一个以上的抽象方法,则该类必须声明为抽象类,该方法也必须声明为抽象
3.类中没有抽象方法也可以被声明为抽象类
4.抽象类不能被实例化,但是可以有构造函数,因此抽象类只能用作基类
5.当抽象类派生其他非抽象类的时候,非抽象类必须实现所有的抽象成员
6.单继承


接口:
1.接口比抽象类更加抽象。
2.一个类只能继承一个类,但是可以实现无穷多个接口,可见,接口是为解决多继承的问题而设计的
3.接口中不能有非抽象方法,它里面的方法只是一个声明必须用public来修饰没有具体实现的方法
4.接口中的成员变量默认的都是静态常量(static final)
5.在实现接口的时候,必须实现接口中的每一个方法
6.如果抽象类实现接口,那么他可以实现接口中的部分方法,因为他是抽象类嘛,它里边允许有抽象方法,应用:在实现接口时,我们也常写一个抽象类,来实现接口中的某些子类所需的通用方法,接着在编写各个子类时,即可继承该抽象类来使用,省去在每个都要实现通用的方法的困扰。


多态:


多态的目的
通过类型转换,把一个对象当作它的基类对象对待。 
从相同的基类派生出来的多个派生类可被当作同一个类型对待,可对这些不同的类型进行同样的处理。 
这些不同派生类的对象响应同一个方法时的行为是有所差别的,这正是这些相似的类之间彼此区别的不同之处。 
动态绑定
将一个方法调用和一个方法主体连接到一起称为绑定(Binding)。 
根据绑定的时机不同,可将绑定分为“早期绑定”和“后期绑定”两种。 
如果在程序运行之前进行绑定(由编译器和链接程序完成),称为早期绑定。 
如果在程序运行期间进行绑定,称为后期绑定,后期绑定也称为“动态绑定”或“运行时绑定”。 
在java中,多态性是依靠动态绑定实现的,即Java虚拟机在运行时确定要调用哪一个同名方法。
多态的应用
由于多态性,一个父类的引用变量可以指向不同的子类对象,并且在运行时根据父类引用变量所指向对象的实际类型执行相应的子类方法。 
利用多态性进行二次分发。 
利用多态性设计回调方法。
0 0
原创粉丝点击