[英]java8 Interface allowing public default method
在java 8中,默認方法實現可以同時使用public
和default
修飾符。 以下兩種方法的主要區別是什么? 在哪種條件下需要遵循哪種類型。
default int makeMul(int x, int y) {
return x * y;
}
public default int makeMul(int x, int y) {
return x * y;
}
這里的默認方法沒什么特別之處。 Java一直允許將接口方法聲明為public,即使它們已經隱式公開。
來自JLS 9.4 :
接口主體中的每個方法聲明都是隱式公共的(第6.6節)。 允許但不鼓勵作為樣式,在接口中冗余地指定方法聲明的公共修飾符。
正如其他人所建議的那樣, default
關鍵字有兩個主要用途:
switch-case
語句中觸發默認情況。 default
關鍵字( public default int method()
)。 據我所知,在一個簡單的類中 ,在方法聲明中使用default
關鍵字,根本沒有任何區別。
有關接口中default
方法的目的的廣泛討論,請參閱Java 8中的Default或Defender方法的目的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.