接口我们可以看作是抽象类的一种特殊情况,在接口中只能定义抽象的方法和常量
1) 在 java 中接口采用 interface 声明
2) 接口中的方法默认都是 public abstract 的,不能更改
3) 接口中的变量默认都是 public static final 类型的,不能更改,所以必须显示的初始化
4) 接口不能被实例化,接口中没有构造函数的概念
5) 接口之间可以继承,但接口之间不能实现
6) 接口中的方法只能通过类来实现,通过 implements 关键字
7) 如果一个类实现了接口,那么接口中所有的方法必须实现
8) 一类可以实现多个接口
/*
接口也是一种引用类型,可以等同看做类 是个特殊的抽象类
1. 定义,语法:
[修饰符] interface 接口名{}
2. 接口中只能出现: 常量,抽象方法;
3. 接口其实是一种 特殊的抽象类,特殊在 接口完全都是抽象
4. 接口中 没有构造方法,无法被实例化
5. 接口和接口之间是可以多继承的
6. 一个类可以实现多个接口
7. implements 是实现的意思,是一个关键字,
8. 接口是不能实现接口
使用接口好处:
<1> 采用接口明确的声明他所能提供的服务
<2> 解决了java中单继承的问题
<3> 现实了可接插性(重要)
例子:电脑的USB接口
*/
public interface InterFaceTest01{
// 常量(必须用public static final修饰)
public static final double PI = 3.14;
public static final String SUCCESS = "success";
// public static final是可以省略
byte MAX_VALUE = 100; // 常量
// 抽象方法(在接口中所有的抽象方法 都是 public abstract)
public abstract void ming();
// public abstract 是可以省略的
void ming1();
}
interface m1{
//m1(String name){}
public abstract void A();
}
interface m2{
public abstract void B();
}
interface m3{
public abstract void C();
}
interface Ming extends m1,m2,m3{
public abstract void D();
}
class MyClass implements m1,m2{
public void A(){
// 自己现实去
}
public void B(){
// 自己现实去
}
}
class F implements Ming{
public void A(){
}
public void B(){
}
public void C(){
}
public void D(){
}
}