色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java語言可以通過什么實(shí)現(xiàn)多繼承

java語言可以通過什么實(shí)現(xiàn)多繼承?

在java中,原則上是不允許多繼承的,也就是類與類之間只可以單繼承。

那么,有沒有辦法,可以在不使用接口的情況下實(shí)現(xiàn)多繼承呢? 答案是可以。

使用內(nèi)部類就可以多繼承,嚴(yán)格來說,還不是實(shí)現(xiàn)多繼承,但是這種方法可以實(shí)現(xiàn)多繼承所需的功能,所以把它稱為實(shí)現(xiàn)了多繼承。

下面就舉個(gè)例子:

假如有一個(gè)打電話類Call,里面實(shí)現(xiàn)了一個(gè)可以打電話的功能的方法callSomebody(String phoneNum);

一個(gè)發(fā)信息類SendMessage,里面實(shí)現(xiàn)了一個(gè)可以發(fā)信息功能的方法sendToSomebody(String phoneNum);

還有一個(gè)手機(jī)類Phone,這個(gè)手機(jī)類想實(shí)現(xiàn)打電話和發(fā)信息的功能;我們知道可以用繼承來獲得父類的方法,但是只可以單繼承呀,也就是說只可以實(shí)現(xiàn)其中一個(gè)類里面的方法,這并不滿足我們的需求。

接下來,我們就使用內(nèi)部類,達(dá)到我們所需的目標(biāo)了。

class Call {

public void callSomebody(String phoneNum){

System.out.println("我在打電話喔,呼叫的號(hào)碼是:" + phoneNum);

}

}

class SendMessage {

public void sendToSomebody(String phoneNum){

System.out.println("我在發(fā)短信喔,發(fā)送給 :" + phoneNum);

}

}

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");

}

}

這樣就實(shí)現(xiàn)了callSomebody(String phoneNum) 和sendToSomebody(String phoneNum)這兩個(gè)方法的功能呢。