Java中父类的静态变量和静态方法的继承问题
1.普通父類的靜態(tài)變量和方法,可以通過子類的名稱訪問和調(diào)用
 2.普通父類的靜態(tài)變量和方法,可以通過子類的實(shí)例對象訪問和調(diào)用
 3.抽象父類的靜態(tài)變量和方法,可以通過具體子類的名稱訪問和調(diào)用
 4.抽象父類的靜態(tài)變量和方法,可以通過具體子類的實(shí)例對象訪問和調(diào)用
 5.接口的靜態(tài)變量,可以通過實(shí)現(xiàn)類的名稱訪問
 6.接口的靜態(tài)變量,可以通過實(shí)現(xiàn)類的實(shí)例對象訪問
 7.接口的靜態(tài)方法,不可以通過實(shí)現(xiàn)類的名稱調(diào)用
 8.接口的靜態(tài)方法,不可以通過實(shí)現(xiàn)類的實(shí)例對象調(diào)用
 9.接口的靜態(tài)方法,只能通過“接口名稱.靜態(tài)方法名”進(jìn)行調(diào)用
注:
 1.可以通過子類的名稱訪問父類的靜態(tài)變量,這個(gè)語句在編譯的時(shí)候會(huì)被替換成“父類名稱.靜態(tài)變量名”
 2.可以通過子類的實(shí)例訪問父類的靜態(tài)變量,這個(gè)語句在編譯的時(shí)候會(huì)被替換成“父類名稱.靜態(tài)變量名”
 3.可以通過子類的實(shí)例訪問父類的靜態(tài)方法,這個(gè)語句在編譯的時(shí)候會(huì)被替換成“父類名稱.靜態(tài)方法名”
總結(jié):
 為什么在繼承關(guān)系中,可以通過子類的類名或者子類的對象去訪問父類的靜態(tài)變量和靜態(tài)方法,因?yàn)槔^承關(guān)系屬于單繼承,所以可以明確地找到父類的靜態(tài)變量和靜態(tài)方法。但是接口的實(shí)現(xiàn)關(guān)系不是單繼承關(guān)系,而是多繼承關(guān)系,一個(gè)實(shí)現(xiàn)類可以同時(shí)實(shí)現(xiàn)多個(gè)不同的接口,如果不同接口存在相同的靜態(tài)變量和靜態(tài)方法,那么通過實(shí)現(xiàn)類的對象或者實(shí)現(xiàn)類的類名去調(diào)用接口類的靜態(tài)方法,根本無法明確調(diào)用哪個(gè)方法,所以無法通過實(shí)現(xiàn)類的類名或者對象去調(diào)用接口的靜態(tài)方法。
但是為什么可以通過實(shí)現(xiàn)類的類名和對象訪問接口的靜態(tài)變量呢?這點(diǎn)我也覺得很奇怪,但是多個(gè)接口存在相同靜態(tài)變量的時(shí)候,也是報(bào)編譯錯(cuò)誤的,如果多個(gè)接口并沒有存在相同的靜態(tài)變量,則不會(huì)報(bào)編譯錯(cuò)誤。但是接口的靜態(tài)方法則怎樣都不行。
總結(jié)
以上是生活随笔為你收集整理的Java中父类的静态变量和静态方法的继承问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: etc怎么安装在车上的?
 - 下一篇: 宝呗青年体验金可以用多久?