在Java接口的方法中指定關鍵字abstract
與指定關鍵字有什麼區別?指定抽象或不接口方法的區別是什麼?
像:
public void foo();
public abstract void foo();
在Java接口的方法中指定關鍵字abstract
與指定關鍵字有什麼區別?指定抽象或不接口方法的區別是什麼?
像:
public void foo();
public abstract void foo();
沒有區別。參見JLS Interfaces - Abstract Method Declatations:
在接口的身體的每個方法聲明是隱含抽象,所以其本體由分號,而不是一個塊總是表示。
還要注意:
爲了與舊版本的Java平臺的兼容性,它是允許但不鼓勵,作爲一個風格問題,冗餘地指定抽象修飾符爲聲明的方法在接口中。
沒有差別在接口的所有方法都隱含抽象的,因爲要實現該接口的所有方法必須被覆蓋......但是
奇怪的是,it's工作這還不編譯。 – Mehrdad