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