接口声明:interface 接口名字
接口体:接口体中包含常量的声明(没有变量)和抽象方法两部分。
常量是public, static,final型常量,方法是public,abstract方法。
实现接口:
1.类实现接口:接口由类来实现以便使用接口中的方法。
class A implements Printable, Addable //A类实现Printable, Addable接口。
2.重写接口的方法:如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法。且一定要用public修饰(否则降低了方法的访问权限)
如果一个类声明实现了一个接口,但没有重写接口中的所有方法,那么这个类必须是抽象类,也就是说抽象类既可以重写接口的方法也可以直接拥有接口的方法
3.接口细节说明:
程序可以用接口名访问接口中的常量,但是如果一个类实现了接口,那么该类可以直接在雷蹄中使用该接口中的常量。
如果父类实现了某个接口,那么子类也就自然实现了该接口。
接口也可以被继承,优于接口中的常量和抽象方法都是public的,子接口将继承父接口中的全部方法和常量。
接口回调:
com = object;
即将实现接口的类的实例对象的引用赋值给接口变量。
接口回调非常类似上转型对象调用子类重写的方法。
接口与多态:
不同的类在实现同一个接口时可能具有不同的实现方式,那么接口变量在回调接口方法时就可能具有多种形态。
接口参数:
将接口的类的实例的引用传递给该接口参数,那么该参数就可以回调类实现的接口方法。
abstract类和接口类的比较:
1.abstract类和接口都可以有abstract方法。
2.接口中只可以有常量,不能有变量;而abstract类中既可以有常量又可以有变量。
3.abstract类中也可以由非abstract方法,接口不可以。