java一個(gè)類(lèi)可以繼承多個(gè)類(lèi)嗎 如果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() }
一個(gè)類(lèi)實(shí)現(xiàn)了一個(gè)接口,當(dāng)另一個(gè)類(lèi)繼承這個(gè)類(lèi)時(shí),這個(gè)接口還被繼承了嗎?
1. 類(lèi)實(shí)現(xiàn)接口。當(dāng)另一個(gè)類(lèi)繼承該類(lèi)時(shí),接口也會(huì)被繼承。
2。在繼承制度中,這種情況是不可避免的。方法在類(lèi)層次結(jié)構(gòu)中越堆越高,因此它們可以被越來(lái)越多的子類(lèi)使用。接口的設(shè)計(jì)避免了這個(gè)問(wèn)題。
這句話并不意味著一個(gè)類(lèi)實(shí)現(xiàn)了接口,然后另一個(gè)類(lèi)繼承了這個(gè)類(lèi)
它意味著一個(gè)類(lèi)可以實(shí)現(xiàn)接口的一些方法,它的子類(lèi)也可以實(shí)現(xiàn)接口,并且可以實(shí)現(xiàn)不同于父類(lèi)的方法。記住,子類(lèi)繼承父類(lèi)并實(shí)現(xiàn)接口。