java多繼承怎么實(shí)現(xiàn) 如果JAVA中一個(gè)類(lèi)繼承的兩個(gè)接口中有相同方法,怎么辦?
如果JAVA中一個(gè)類(lèi)繼承的兩個(gè)接口中有相同方法,怎么辦?第一,一般來(lái)說(shuō),Java不支持一個(gè)類(lèi)繼承的兩個(gè)接口中的相同方法,容易造成接口繼承的混亂;第二,如果雙方必須在一個(gè)類(lèi)繼承的兩個(gè)接口中有相同的方法,
如果JAVA中一個(gè)類(lèi)繼承的兩個(gè)接口中有相同方法,怎么辦?
第一,一般來(lái)說(shuō),Java不支持一個(gè)類(lèi)繼承的兩個(gè)接口中的相同方法,容易造成接口繼承的混亂;第二,如果雙方必須在一個(gè)類(lèi)繼承的兩個(gè)接口中有相同的方法,可以通過(guò)內(nèi)部類(lèi)來(lái)實(shí)現(xiàn),一般來(lái)說(shuō),Java不允許重復(fù)的接口名;第三,內(nèi)部類(lèi)可以編寫(xiě)如下:接口I1{void get()}接口I2{void get()}公共類(lèi)多接口實(shí)現(xiàn)I1{public void get()}系統(tǒng)輸出打?。ā癐 am from I1”)私有類(lèi)I2Impl實(shí)現(xiàn)I2{public void get(){系統(tǒng)輸出打印(“我來(lái)自I2”)}}公共void get2(){I2 I2=new I2Impl()I2.get()}公共靜態(tài)void main(字符串rsg[]){MultiInter mi=new MultiInter()米。格特() 米2()}
java可不可以繼承多個(gè)類(lèi)?
一個(gè)類(lèi)不能直接繼承多個(gè)類(lèi)。Java是一種單一的繼承語(yǔ)言。例如,Java類(lèi)擴(kuò)展不能用這種方式編寫(xiě),因?yàn)镃只支持a。但是您可以繼承多個(gè)類(lèi),如下所示:類(lèi)a擴(kuò)展B,類(lèi)C擴(kuò)展a,所以C同時(shí)繼承類(lèi)B和類(lèi)a。
Java為什么不能繼承多個(gè)父類(lèi)?
Java支持單繼承和多實(shí)現(xiàn)。
如果支持多重繼承,則意味著一個(gè)子類(lèi)可以同時(shí)從多個(gè)父類(lèi)繼承,因此它具有多個(gè)父類(lèi)的特性。如果子類(lèi)繼承的父類(lèi)具有相同的成員變量,則子類(lèi)在引用該變量時(shí)將無(wú)法確定要使用哪個(gè)父類(lèi)的成員變量。因此,多重繼承是有爭(zhēng)議的,不能多重繼承。
一般來(lái)說(shuō),一個(gè)人不能有一個(gè)以上的父親或母親。