java如何實現多繼承(實現:子類中二個方法,分別繼承不同父類)


在java中,原則上是不允許多繼承的,也就是類與類之間只可以單繼承。
那么,有沒有辦法,可以在不使用接口的情況下實現多繼承呢?  答案是可以。
使用內部類就可以多繼承,嚴格來說,還不是實現多繼承,但是這種方法可以實現多繼承所需的功能,所以把它稱為實現了多繼承。
下面就舉個例子:
假如有一個打電話類Call,里面實現了一個可以打電話的功能的方法callSomebody(String phoneNum);
一個發信息類SendMessage,里面實現了一個可以發信息功能的方法sendToSomebody(String phoneNum);
還有一個手機類Phone,這個手機類想實現打電話和發信息的功能;我們知道可以用繼承來獲得父類的方法,但是只可以單繼承呀,也就是說只可以實現其中一個類里面的方法,這並不滿足我們的需求。

接下來,我們就使用內部類,達到我們所需的目標了。

public class Call {
    
    public void callSomebody(String phoneNum){
        System.out.println("我在打電話喔,呼叫的號碼是:" + phoneNum);
    }

}
Call類父類
class SendMessage {
   public void sendToSomebody(String phoneNum){
       System.out.println("我在發短信喔,發送給 :" + phoneNum);
  }
}
SendMessage類
public class Phone {
private class MyCall extends Call{

}
private class MySendMessage extends SendMessage{

}

private MyCall call = new MyCall();
private MySendMessage send = new MySendMessage();

public void phoneCall(String phoneNum){
call.callSomebody(phoneNum);
}

public void phoneSend(String phoneNum){
send.sendToSomebody(phoneNum);
}

public static void main(String[] args) {
Phone phone = new Phone();
phone.phoneCall("110");
phone.phoneSend("119");
}
}
Phone 類中 二個方法繼承父類實現多繼承

這樣就實現了callSomebody(String phoneNum) 和sendToSomebody(String phoneNum)這兩個方法的功能呢。
————————————————
版權聲明:本文為CSDN博主「rocling」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/rocling/article/details/82350515


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM