接口
抽象类和抽象方法(abstract)
抽象类:建立通用接口,表示所有的导出类的共同部分
抽象方法:只有方法声明,没有方法体 abstract void f()
包含抽象方法的类叫做抽象类,如果一个类中有抽象方法而类没有声明为抽象类,编译报错
抽象类的导出类必须给出每个方法的实现,否则导出类也是抽象类(系统强制加上abstract)
接口(interface)
如果说abstract中的部分方法还可以有具体的实现,那么interface就是一个纯粹的接口,interface中不允许有方法的具体的实现
一个接口表示所有实现了这个接口的类看起来都长这个样子
接口被用来建立类与类之间的协议
- 接口中也可以有域,默认就是加上 static final
interface Test{
int a = 1;
}
- 接口中方法默认是public,即使你不写,也只能是public
interface Test{
int a = 1;
void find();
}
class Test1 implements Test{
@Override
public void find() {
}
}
接口和实现,
多重继承
可以实现多个接口,并可以向上转换任何一个接口
package com.company;
public class Main {
public static void main(String[] args) {
// write your code here
Test test = new Test3();
Test2 test2 = new Test3();
}
}
interface Test{
int a = 1;
void find();
}
interface Test2{
void find1();
}
class Test3 implements Test,Test2{
public void find(){
}
public void find1(){
}
}