接口定義
1、接口是用interface聲明的,用來約束類的方法;
2、接口沒有構造函數,無法直接通過new創建,只可以被實現;
3、接口可以被多實現;
4、接口之間可以多繼承;
5、接口裏的變量都是默認public static final
修飾的
1.8以前
- 接口中的方法都是默認
public abstract
修飾的,不可用其他修飾符 - 接口中所有方法都不可實現
public interface StandardInterface {
int value=1;
void test();
}
1.8以後
- 接口中的抽象方法都是默認
public abstract
修飾的 - 接口中可以存在非抽象方法,包括靜態方法和非靜態方法
- 靜態方法默認是
public
修飾的,不可用其他修飾符 - 非靜態方法必須用
default
修飾,代表接口中的默認實現
public interface StandardInterface {
int value = 1;
void test();
default void testDefault() {
}
static void testStatic() {
}
}
與抽象類的區別
抽象類是用abstract來聲明的;抽象類只可以被單繼承;抽象類的屬性和方法修飾符不被限制;抽象類可以
存在靜態代碼塊,接口不行。