"接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法"这句话是对还是错?
对
https://wenda.so.com/q/1372474675065387
1、最明了的作用:在java中只能单一继承,接口可以解决无法多继承的问题,java里面可以同时实现多个接口,接口不仅能体现代码的拓展性,而且还提高代码的维护性!
2、接口的使用说明:
接口中可以只能定义常量(必须在定义时就给定初始值),不能定义变量,同时接口中的属性都是全局静态常量(public static final修饰)
接口中的所有方法都是抽象方法,可以省略 abstract 修饰
接口不能实例化,不能有构造 new不出来
接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类
接口的实现类必须实现接口的全部方法,否则必须定义为抽象类
话不多说直接上案例!先用原始方法 再用(继承)重载方法,最后使用(接口)重写进行对比体现接口的优势!
案例如下:

为学校开发这样的一个小系统,包含类型:教员、学校、打印机具体要求:
教员、以及学校都具有方法:输出详细信息
学校具有属性:打印机,能够通过学校的打印机打印教员或学校的详细信息
系统要具备良好的可拓展性与维护性
首先要创建 教员(Teacher)、学校(School) 、打印机(Printer) 测试(Test)四个类代码如下
案例发现学校的打印机在打印老师和学校信息的时候要创建2个方法非常不方便记忆和书写,于是乎我们就使用重载(方法名相同而变量名不同)只需修改school的代码,如下
使用方法名后发现还不是很方便,毕竟还是要书写两个方法,于是我们就使用重写
从上面的简单案例我们可以总结下列几点:
原始:
1.新增加一个学生的类,有一个返回学生信息的方法
2.School中新增一个打印学生的方法
问题:
1.School中每增加一种类型就要增加一个方法
2.而且调用的时候我就要去记忆很多的方法名
重载
1.新增加一个学生的类,有一个返回学生信息的方法
2.School中新增一个打印学生的方法
问题:
1.School中每增加一种类型就要增加一个方法
好处:
1.无论调用哪一个打印的方法都只要记一个方法名,传入不同的类型就可以了。
重写:
1.新增加一个学生的类,有一个返回学生信息的方法
好处:
1.无论调用哪一个打印的方法都只要记一个方法名,传入不同的类型就可以了。
2.无论增加多少种类型,都不需要再增加方法,因为定义的是接口,而可以传入任意的实现类