即特殊的抽象类: 关键字 ( interface )
优点:
1.接口可以多实现, 类只能单继承 (谁用谁实现)
2.提高代码的复用性
3.解耦
4.定义开发规范
jdk1.7之前的要求:
属性; 公共的静态的常量 public static final 数据类型 变量名 = 赋值;修饰符可以省略,
方法 : 只能是公共的抽象方法 ( public abstract 修饰的)
注意:
1.抽象方法的使用必须被重写
2.借口不能被实例化
3.接口需要实现类来实现接口
4.必须重写所有的抽象方法
抽象的实现类 :1. 按需新增和重写 2.需要子类继承父类,并重写所有抽象方法
5.接口可以多实现
6.接口需要先继承后实现
7.接口与接口之间只能多继承
8.类和类之间能单继承
测试类
public class Demo01{
public static void main(String[] args) {
System.out.println(Demo.a);
//Demo d=new Demo();
Test test=new Test();
System.out.println();
test.A();
test.houhou();
}
}
接口
interface Demo{
//抽象变量
int a = 0;
//抽象方法
public abstract void houhou(){
}
}
interface A{
void A();
}
interface B{}
//实现了 dome 和 A 接口
interface C extends Demo,A{}
具体的实现类
class Test extends Demo01 implements Demo,A,B{
public void houhou(){
System.out.println("吼吼吼!!!!!");
}
public void A() {
System.out.println("A");
}
}
抽象的实现类
abstract class Test implements inter{
public void A(){
System.out.println("Aaa");
}
}
接口的jdk1.8新特性:
1.default修饰的默认方法可以定义方法体
根据实现类使用
2.静态方法可以定义方法体
根据接口名使用