接口
成員變量
接口中不允許出現(xiàn)實(shí)例變量,只能出現(xiàn)類(lèi)變量.
實(shí)現(xiàn)類(lèi)實(shí)際上會(huì)繼承
public static final type variable = 1; //等價(jià)于 int intval = 1
成員方法
接口中的類(lèi)方法只能使用public和private來(lái)修飾,不能使用final來(lái)修飾,
類(lèi)方法不能使用abstract修飾,即類(lèi)方法不允許推遲到實(shí)現(xiàn)類(lèi)中再實(shí)現(xiàn).
實(shí)現(xiàn)類(lèi)事實(shí)上不會(huì)繼承接口的類(lèi)方法-
接口中需要實(shí)現(xiàn)類(lèi)實(shí)現(xiàn)的abstract方法只能用public和abstract修飾,不能使用final修飾
public abstract type method(); //等價(jià)于int method();
接口中可以出現(xiàn)已實(shí)現(xiàn)的實(shí)例方法,只能使用default/private來(lái)修飾,
不能使用final修飾.
且實(shí)現(xiàn)類(lèi)事實(shí)上會(huì)繼承default修飾的實(shí)例方法
示例
綜上所述,且為了明確性,總結(jié)實(shí)例如下
[public] interface MyInterface
{
public static final int intval = 1;
//類(lèi)方法,實(shí)現(xiàn)類(lèi)不會(huì)繼承
public static void staticMethod()
{
//statements...
}
//
private static void privateStaticMethod()
{
}
//需要實(shí)現(xiàn)類(lèi)實(shí)現(xiàn)的實(shí)例方法
public abstract void abstractInstanceMethod();
//已實(shí)現(xiàn)的實(shí)例方法,實(shí)現(xiàn)類(lèi)實(shí)際上繼承
default void implementedInstanceMethod()
{
//method body...
}
private void privateImplementedInstanceMethod()
{
//method body...
}
}