亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

java - 當在子類中聲明一個父類中存在的變量后,自動調用的父類構造函數(shù)不起作用。

瀏覽:136日期:2024-02-14 11:07:22

問題描述

問題解答

回答1:

執(zhí)行順序是這樣的:

1. super();1.1. super.i = 7;1.2. this.setI(20) => this.i = 60;1.3. System.out.println('i from a is ' + super.i) => 7;2. this();2.1. this.i = 10;2.2. System.out.println('i from b is ' + this.i) => 10;

A.i 和 B.i 都是package-private的, B.i 沒有Override A.i, 這兩者是獨立的;

A.setI 和 B.setI 都是public, B.setI Override A.setI, A在構造時調用的是B.setI;

B在構造函數(shù)之外的成員初始化是在super()之后執(zhí)行的, B.i先是在super里被B.setI設為60, 再被B的成員初始化設為10;

刪除B中的int i = 10;之后, 如果A和B處于同一個package, B.setI訪問的就是A.i, super()時A.i被設為60之后就不會有變更, 兩次打印都是60

回答2:

在子類中再聲明一個父類中已有的成員,不會報錯嗎?至少也應該是警告吧。

我只能說,題目出得太缺德了。實際開發(fā)中不可能這么寫,自己給自己挖坑啊。

回答3:

7.101.到A的構造方法,執(zhí)行完Object的空參構造。2.int I=73.setI(20)調用的是子類的setI() 此時子類的I為60,父類的仍為7.4.打印this.i 此時在父類中.是 7;(注意點:變量看實際調用者, this是當前父類;方法因為被重寫,調用子類)5.int I=10 覆蓋了原先的60.6,打印this.i 此時為10.

60.60注意:你刪除了子類的I,默認調用的就是父類的I3.調用子類setI,賦值給了父類,此時父類改變?yōu)?0.5.此時沒有覆蓋,this.i 默認調用父類繼承下來的I. 為60.

論Degbug的重要性...

標簽: java
主站蜘蛛池模板: 亚洲第一视频在线观看 | 欧美三级网站在线观看 | 亚洲另类视频 | 99精品偷自拍 | 国产精品久久久久久久久99热 | 欧美白人最猛性xxxxx | 日韩在线不卡一区在线观看 | 亚洲国产欧美在线人成aaa | 成人www视频网站免费观看 | 性刺激免费视频观看在线观看 | 久久在线视频免费观看 | 国产黄色片网站 | 久久精品国产屋 | 老人毛片 | 91精品国产综合久久青草 | 欧美一区欧美二区 | 国产成人免费永久播放视频平台 | 日本红怡院亚洲红怡院最新 | 免费观看一区二区 | 成人欧美精品一区二区不卡 | 在线播放第一页 | 经典国产乱子伦精品视频 | 杨幂精品国产专区91在线 | 偷拍自拍第一页 | 日本三级香港三级人妇 m | 视频一区免费 | 国产一区二区久久精品 | 久久精品无遮挡一级毛片 | 欧美xxxxb| 国产精品亚洲欧美一级久久精品 | 亚洲欧美视频二区 | 午夜性a一级毛片 | 成人永久免费视频 | 一级毛片真人不卡免费播 | 国产精品免费看久久久 | 在线播放高清国语自产拍免费 | 国产v片在线播放免费观 | 日本在线看小视频网址 | 亚洲欧美日韩国产综合高清 | 国产精品无打码在线播放9久 | 久久免费视频99 |