亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于final的一些問題

我在父類中定義了final age=20;又在子類中定義了 int age=10;為什么可以通過編譯的,不是說final關鍵字定義的變量是不可以在重新賦值了嗎

正在回答

2 回答

你在父類中定義的age跟你在子類中定義的age是兩個不一樣的變量,作用域不一樣。就好比你跟你爸一人有一杯優樂美,他的優樂美他自己喝,你的優樂美是給你喝的。兩杯不一樣的優樂美!雖然他們的牌子是一樣的。

你爸給他的優樂加了一把鎖,然后把鑰匙扔了,這樣就再也沒有人能動他杯子里的優樂美了,就好比final。。。。

然而這并不影響你喝你的優樂美。。。

順便問一句,你喜歡和優樂美還是香飄飄?原味還是草莓味。。。。

2 回復 有任何疑惑可以回復我~
#1

0821

大神啊
2016-12-31 回復 有任何疑惑可以回復我~

我經過了測試,發現在子類中聲明的同名變量和父類中的同名變量是完全不一樣的兩個量,比如父類的變量是final int A=10; 子類是int A=20; 則聲明一個子類的時候,這個A指的是這個20,而且因為沒有final,這個A也是可以修改的。這個性質在類和它的方法中也存在。

0 回復 有任何疑惑可以回復我~
#1

0821

子類中int A=20,說明你已聲明并初始化過了,是一個在子類中新創建的變量;如果你在子類中直接打A=20,這就是繼承,父類中已fina過了,不允許繼承并修改,系統就會報錯,A下面給你劃紅線。
2016-12-31 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531144    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

關于final的一些問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號