一、接口
1、接口是一种“引用数据类型”。
2、接口是完全抽象的。
3、接口怎么定义?
【修饰符列表】 interface 接口名{}
4、接口支持多继承。
//java类是单继承的。classB Extends classA
//java接口可以多继承。Interface3 Extends Interface0, Interface1, interface……
//接口不支持继承普通类!!!
//注意:接口多继承的都也是接口类。
public interface Test extends Test1,Test2{
}
5、接口中只有常量+抽象方法!!!
6、接口中所有元素都是public修饰的!
7、接口中的抽象方法的public abstract可以省略。
8、接口中的常量的public static final可以省略。
9、接口中不能有方法体。
10、一个非抽象的类,实现接口的时候,必须将接口中所有的方法都加以实现。
11、extends和implements可以共存,extends在前,implements在后。
12、使用接口,可以使用多态(父类型引用指向子类型对象)。
二、接口实现
1、一个类通过使用关键字implements声明自己实现一个或多个接口。
class A implements Printable,Addable{}
2、如果一个非抽象类实现了某个接口,那么这个类必须重写该接口的所有方法,而且方法的访问权限一定要显示地用public来修饰。
3、如果一个类声明实现一个接口,但没有重写接口中的所有方法,那么这个类必须是抽象类,也就是说,抽象类既可以重写接口中的方法,也可以直接拥有接口中的方法。
public interface Test {
//省略public abstract
void A();
}
class Test1 implements Test {
//实现接口抽象方法
public void A(){
}
}