1、接口概述
2、接口特点
代码:
jumpping接口:
猫类:
测试类:
3、接口成员特点
3.1 成员变量特点
成员变量默认是常量,并且是静态的
代码:
接口:
实现类:
测试类:
3.2 构造方法特点
接口中没有构造函数,写了会报错。(主要是对行为抽象)
实际上:
3.3 成员方法特点
实现类:重写
3.4 总结
3.5 案例
接口:用于被实现
动物类:用于被继承
子类猫:继承动物类,实现接口
测试类:
思考:为什么子类既要实现接口,又要继承动物类?不能帮接口中的抽象方法直接写在动物类里面吗?
4、类和接口直接的关系
代码:接口和类的关系
代码:接口和接口之间的关系
5、抽象类和接口的区别
5.1 区别
5.2 设计理念的区别理解
第1种情况:只有open和close方法,两者设计都合理。
第2种情况:只有open和close功能,还有警报功能
不合理:不是所有门都具备报警功能,子类继承和实现都要写alarm方法(如门只有开和关功能,报警器只有报警功能)
正确设计应该这样:把开门和关门功能设计成一个类,把报警功能设计成一个接口
5.3 案例
从这个案例体会:类是对事物的抽象,接口是对行为的抽象。
- 1个接口
- 3个抽象类
- 4个具体类
- 1个测试类
代码:
接口:
人类:
教练类:
运动员类:
篮球教练类:
乒乓球教练类:
篮球运动员具体类:
乒乓球运动员具体类:
测试类:通过无参构造方法创建对象