1、接口
-
关键字 implement,接口不能被直接实例化
-
接口只能被public修饰
-
接口中都是抽象方法和常量,不可能有非抽象方法,常量必须被赋值。
常量默认被public static final修饰
方法默认被public static abstract修饰 -
多态的前提:有继承或实现关系,有方法的重写,有父类或父接口引用指向子类或实现类对象
-
接口的实现类:必须重写接口中的所有方法,不想重写则可以是抽象类(加上abstract),但是子类继承了该抽象类必须重写接口中的方法。
-
类只能是单继承(即一个子类只有一个父类),类实现接口可以实现多个接口(即一个类可以实现多个接口),接口间可以多继承(即一个接口可以有多个父接口)
例子:
public interface A {
public static abstract eat(){}
}
public interface B {
public static abstract run(){}
}
public interface C {
public static abstract sing(){}
}
pbulic interface D implements A , B, C{ } //接口间多继承
public class CatImpl implements D{ // 实现接口D
//方法重写
}
public class Controller { // 在controller中调用
public static void main(String[] args) {
D dd = new CatImpl();
dd.eat();
dd.run();
dd.sing();
}
}