接口:
- 狭义的角度讲就是java中的interface
- 广义的角度讲对外提供规则的都是接口
接口不能实例化,按照多态的方式来实例化
接口的子类:
- 可以是抽象类,但是意义不大
- 可以是具体类,要重写接口中所有的抽象方法
接口中所有的变量都是常量:public static final(这三个可以省略) int num = 10;
接口中所有的方法都是抽象的,重写接口中的方法,权限是public
类与类、类与接口、接口与接口关系:
- 类与类之间是继承关系,只能单继承
- 类与接口之间是实现关系,既可以单实现,也可以多实现(类可以同时实现好几个接口,用逗号隔开)
- 接口与接口之间是继承关系,可以多继承也可以单继承
class Interface1 {
public static void main(String[] args) {
}
}
interface 某干爹 {
public void 关系(); //抽象方法,省去了abstract,public可以省略
public void 潜规则();
}
class 某女星 implements 某干爹 { //干爹可以有多个,用逗号隔开,子类继承一个类实现一个接口可以同时写
public void 关系() {
System.out.println("借助干爹关系上位");
}
public void 潜规则() {
System.out.println("你懂的");
}
}
抽象类:
- 成员变量:可以变量,也可以常量
- 构造方法:有
- 成员方法:可以抽象,也可以非抽象
接口:
- 成员变量:只可以是常量
- 成员方法:只可以是抽象方法
抽象类中定义的是该继承体系的共性功能
接口中定义的是该继承体系的扩展功能,编译完生成.class文件