昨天学完了多态,nice!
今天学完接口,然后把共享单车写完了
接口
1、interface 接口名{
属性
方法(1.抽象方法 2.默认default方法 3.静态方法)
}
class 类名 implements 接口{
自己属性
自己方法
必须实现接口中的所有抽象方法
}
=====================================================
继承和接口的区别
因为java只能单继承
当子类继承父类,就自动的拥有父类的功能
如果子类要扩展功能,可是通过实现接口的方式扩展
实现接口是对java单继承机制的一种补充
接口和继承解决的问题不同
继承的价值主要在于:解决代码的 复用性和可维护性
接口的价值主要在于:设计,设计好各种规范(方法),让其他类去实现这些方法,即更加的灵活(
接口比继承更加灵活
继承是满足 is - a 关系,即 谁是一个什么 小猴子 是 动物的一种
接口是 like - a 关系,即 谁 像 什么(比如猴子 像 鸟一样飞行)
)
接口在一定程度上实现了代码解耦(通过 接口规范性+动态绑定机制)
接口的多态特性
1、多态参数:在前面的USB接口案例中,Usb usb,既可以接受手机对象,有可以接受相机对象,就体现了 接口多态(接口引用可以指向实现了接口的类的对象)
2、多态数组 Usb[0]=new Phone(); Usb[1]=new Camera();
3、接口存在多态传递 (
如果 IG 继承了 IH 接口,二Teacher类实现了IG接口
那么,实际上就相当于 Teacher 类也实现了 IH 接口
)