接口
接口是一种更加纯粹的,完全的抽象类,接口中的方法都是抽象的
并且接口不能实例化,位于继承层次中的顶层
【修饰符】 interface 接口名 extends 接口1,接口2,…
{
public static final 数据 //静态常量声明时必须显示的初始化 即 变量名 = xx
1
public abstract void 方法名();//不能有方法体,抽象方法
1
}
接口中没有构造方法和初始化程序块
public interface r1{
public static final int a = 1; //静态常量声明时必须显示的初始化 即 变量名 = xx
public abstract void print(); //不能有方法体,抽象方法
}
1
2
3
4
接口必须借助实现这个接口的类来发挥作用
一个类可以实现多个接口 implements
而且必须实现接口中的所有抽象方法,如果没有完全实现,这个类算是抽象类
class Student implements r1{
@Override
public void print() { //而且必须实现接口中的所有抽象方法,如果没有完全实现,这个类算是抽象类
System.out.println(a);
}
}
1
2
3
4
5
6
测试
public class User {
public static void main(String[] args){
Student s = new Student(); //Student类 实现了 r1接口
s.print();
}
}
1
2
3
4
5
6
接口与抽象类的差别
要利用接口或者抽象方法都必须靠(实现接口)和(继承抽象类)的子类来实现,而且子类必须全部实现上面的抽象方法,否则这个子类也是抽象类,说白了就是接口和抽象类中的抽象方法你都要实现
接口中全部是抽象方法和静态常量这两个东西,并且没有构造方法
抽象类中和一般类中相比就多了个抽象方法,
接口支持多重继承,并且能够继承多个父接口(类似于并行)
类(抽象类)单继承,也只能继承一个父类(类似于串行) |