接口是一种特殊的抽象类,interface,本身不能实例化,成员方法只能是抽象方法,访问权限只能是public。
抽象方法需要在子类中实现,而且必须全部实现。其成员变量如果是static final,则只能赋值一次,不能被继承
通过implements来引用接口,实现其中的方法
接口之间可以继承,比如
public interface B {
public static final int x=1;
public void callB();
}
public interface C extends B {
public static final int y=1;
public void callC();
}
class A implements C {
public void callB
{
...
}
public void callC
{
..
}
}
调用的地方,接口指向实现的对象:
B interfaceB = new A();
C interfaceC = new A();
interfaceB.callB();
interfaceC.callC();
interface和class的区别:
interface 由常量和抽象方法组成,接口不可以实例化,方法没有方法体,继承接口的类必须实现接口中的方法。
class 可以实例化,一个类虽然只能继承一个类,但是可以实现多个接口,如:implements E,F