/*
类与类之间是继承关系,类与接口之间是实现关系。
接口和抽象类之间,有啥不同?
抽象类中的成员不一定都是抽象的,例如我们之前做的雇员建模,
里面的非抽象成员,我们是可以直接拿来用的。
而接口中的成员都是抽象的。我们得全部覆盖,即类对于接口的实现。
*/
/*
接口不可以实例化。
只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化。
否则,这个子类就是一个抽象类。
*/
interface Demo43
{
public static final int NUM = 4;
abstract void show1();
abstract void show2();
//固定修饰符可以省略。但是省略会造成阅读性差。
}
class DemoImpl implements Demo43
{
public void show1() {
}
public void show2() {
}//两个抽象方法全部覆盖。
}
public class InterfaceDemo {
public static void main(String[] args) {
DemoImpl impl = new DemoImpl();
System.out.println(impl.NUM);
System.out.println(DemoImpl.NUM);
System.out.println(Demo43.NUM);
//3种输出都对 注意可以直接接口调用。
}
}