您好,登錄后才能下訂單哦!
這篇“Java8中的默認方法和多重繼承實例分析”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java8中的默認方法和多重繼承實例分析”文章吧。
多重繼承是一些面向對象的計算機編程語言的一個特性,其中一個對象或類可以從多個父對象或父類繼承特性和特性。
Java 8 中的默認方法可以看作是一種多重繼承的形式(除了屬性不能被繼承)。考慮下面的示例,Button
類實現了兩個接口 - Clickable
和 Accessible
。
每個接口定義一個默認方法。因此,Button
類可以從兩個接口調用方法。這就像多重繼承。
interface Clickable{
default void click(){
System.out.println("click");
}
}
interface Accessible{
default void access(){
System.out.println("access");
}
}
public class Button implements Clickable, Accessible {
public static void main(String[] args) {
Button button = new Button();
button.click();
button.access();
}
}
如果兩個實現的接口都定義了一個具有相同方法簽名的默認方法,那么實現類不知道使用哪個默認方法。實現類應該明確指定要使用的默認方法或定義它自己的方法。在下面的示例中,Clickable
和 Accessible
都定義了 print()
方法。在 Button
類中,print()
方法指定了默認方法。
interface Clickable{
default void click(){
System.out.println("click");
}
default void print(){
System.out.println("Clickable");
}
}
interface Accessible{
default void access(){
System.out.println("access");
}
default void print(){
System.out.println("Accessible");
}
}
public class Button implements Clickable, Accessible {
public void print(){
Clickable.super.print();
Accessible.super.print();
}
public static void main(String[] args) {
Button button = new Button();
button.click();
button.access();
button.print();
}
}
默認方法背后的主要動機是,如果在某個時候我們需要向現有接口添加一個方法,我們可以在不更改現有實現類的情況下添加一個方法。這樣,接口仍然兼容舊版本。這是一個很酷的功能。但是,我們應該記住使用默認方法的動機,并應該保持接口和實現的分離。
以上就是關于“Java8中的默認方法和多重繼承實例分析”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。