今天学习了接口和面向对象的第三个特性多态,接口是比抽象类还要抽象的东西,但还是比较好懂的,多态的时候,最后那个对象传过去传过来的列子还是有点绕的,不过之前已经预习过,还是能理解面向对象-接口、多态
一、接口的概述
a:interface关键字定义,描述该具备的方法,没有具体的实现,实现由接口的实现类(接口的子类)来实现,提供一种规则
二、接口成员特点
a:成员方法
默认public abstract修饰,全是抽象方法
b:成员变量
默认public static final 修饰,全是常量
c:构造方法
无
三、接口与类的各种关系
a:类与类
继承关系,java中类与类只支持单继承,多层继承
b:类与接口
实现关系,类实现接口,多实现
c:接口与接口
继承关系,接口与接口之间支持多继承
四、接口的优点
a:类与接口是实现关系,多实现,打破了继承的局限性
b:对外提供规则(USB接口)
c:降低了程序的耦合性(可以实现模块化开发,定义好规则,每个人实现自己的模块,提高了开发的效率)
五、接口与抽象类的区别
a:成员方法
接口只有抽像方法,抽象类既有抽象方法也有非抽象方法
b:成员方法
接口全是常量,抽象类有变量也可以由常量
c:构造方法
接口无,抽象类有,为子类提供
六、多态特点
父类引用指向子类对象
a:成员非静态方法
编译看左,运行看右
b:成员变量
编译看左,运行看左
c:成员静态方法
编译看左,运行看左
七、多态优缺点
优点:可以提高可维护性(多态前提保证),提高代码的可扩展性
缺点:无法直接访问子类的特有成员
八、向下转型,判断是否是一个类 :instanceof
|
|