接口
- 定义:
是一种行为规范,是一种特殊的抽象类,所有的方法都是抽象的,所有的变量都是常量.接口中的成员修饰符是固定的:
- 成员方法:
都是静态的,共有的;
- 成员变量:
都是常量,共有静态常量
- 接口的特点:
- 类与类之间的关系叫做继承,一个类只能有一个父类;
- 类与接口之间的关系叫做实现,一个类可以实现多个接口
- 类在继承一个类的同时,还可以实现多个接口,弥补了JAVA单继承的不足;
- 在JAVA 中,接口与接口之间也有关系,接口继承接口,一个接口可以同时继承多个接口
- 接口不能实例化对象,接口没有构造方法
- 抽象类与接口的区别:
- 抽象类用abstract 修饰,接口用interface 修饰
- 抽象类中可以包含非抽象方法,也可以包含抽象方法,接口中只有抽象方法
- 接口类和抽象类都不能被实例化,抽象类有构造方法,接口类没有
- 多态的前提:
- 类与类或者接口之间有关系
- 子类重写父类的方法
- 父类引用子类对象
- 多态的向上转型与向下转型:
向上转型:子类对象复制给父类引用;
向下转型:父类引用强制转化为子类类型
- 多态注意事项:
成员方法调用的特点:编译看左边,运行看右边
成员变量的特点:编译看左边,运行看左边
- 多态的好处和弊端:
好处:提高代码的扩展性;
弊端:虽然提高程序的拓展性,但是父类不能直接访问子类的属性和方法,必须向下转型