定义接口使用的关键字不是class,是interface。
对于接口当中常见的成员:而且这些成员都有固定的修饰符,如果不写会自动加上。
1.全局常量。public static final
2.抽象方法。public abstract
由此得出结论,接口中的成员都是公共的权限。
interface Demo2{//编译后生成的还是class文件。
public static final int NUM = 3;
public abstract void show1();
public abstract void show2();
}
类与类之间是继承关系,类与接口之间是实现关系。
接口不可以实力化,只能由实现了接口的子类覆盖了接口中所有的抽象方法后,该子类才可以实例化。
否则这个子类就是一个抽象类。
class DemoImpl implements Demo2{
//想要实例化必须覆盖接口中所有的方法
public void show1(){}
public void show2(){}
}
public class InterfaceDemo {
public static void main(String[] args) {
DemoImpl d = new DemoImpl();
System.out.println(d.NUM);
System.out.println(Demo2.NUM);
System.out.println(DemoImpl.NUM);
}
}