今天突然討論到了子類繼承父類的靜態(tài)方法問(wèn)題,有人堅(jiān)持說(shuō)能寫,有人說(shuō)不能重寫,那到底能不能沖寫呢?這個(gè)問(wèn)題很簡(jiǎn)單,測(cè)試一下就完了。
先是父類代碼:
1
2
3
4
5
6
7
8
|
public class Fu { public static void show() { System.out.println( "父類的靜態(tài)方法" ); } public void method() { System.out.println( "父類的一般方法" ); } } |
下面是子類代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Zi extends Fu { public static void main(String[] args) { Fu fu = new Zi(); fu.show(); fu.method(); } public static void show() { System.out.println( "子類的靜態(tài)" ); } public void method() { System.out.println( "子類的一般方法" ); } } |
輸出結(jié)果是:
1
2
|
父類的靜態(tài)方法 子類的一般方法 |
來(lái)說(shuō)一下我的觀點(diǎn),父類的靜態(tài)方法不能被子類繼承,更談不上重寫,就算是子類中有一個(gè)和父類一模一樣的靜態(tài)方法,那也是子類本身的,和父類的那個(gè)靜態(tài)方法不是一回事。方法加靜態(tài)后就屬于類不屬于對(duì)象了。
追加:由于上次問(wèn)題討論引發(fā)很多人的積極性,最后的得到了大家都認(rèn)同的結(jié)果,上面是本人之前的觀點(diǎn),有些錯(cuò)誤,下面是最終討論結(jié)果:父類的靜態(tài)方法可以被子類繼承,但是不能重寫。這個(gè)結(jié)果最后大家都接受了。
以上就是本文關(guān)于Java編程子類能否重寫父類的靜態(tài)方法探索的全部?jī)?nèi)容,希望對(duì)大家有所幫助。有什么問(wèn)題可以隨時(shí)留言,歡迎大家交流討論。感謝朋友們對(duì)服務(wù)器之家網(wǎng)站的支持!
原文鏈接:http://blog.csdn.net/kdc18333608478/article/details/52040914