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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

下列程序中age=3放在System前和后運行結果為什么不一樣?按父子類初始化順序運行結果應該是一樣的才對???

下列程序中age=3放在System前和后運行結果為什么不一樣?按父子類初始化順序運行結果應該是一樣的才對???

油潑褲帶面 2017-11-27 21:51:31
父類程序:package HelloWorldf;public class HelloWorld {public int age=20;public String name;public void show() {?? ?System.out.println("姓名:"+name+"年齡:"+age+"你有會叫的功能");}public HelloWorld() {?? ??? ?System.out.println("年紀:"+age);?? ?age=3;}}子類程序:package HelloWorldf;public class HelloWorldt extends HelloWorld {}測試程序:package HelloWorldf;public class test {?? ?public static void main(String[] args) {?? ??? ?// TODO Auto-generated method stubHelloWorldt two=new HelloWorldt();two.name="dog";two.show();HelloWorld eat=new HelloWorld();?? ?}}運行結果:年紀:20姓名:dog年齡:3你有會叫的功能年紀:20
查看完整描述

1 回答

?
風中打傘的小孩

TA貢獻73條經驗 獲得超20個贊

實例化子類時先調用父類構造函數,

System.out.println("年紀:"+age);//因為屬性變量初始值為20,所以輸出年紀:20

age=3;?System.out.println("年紀:"+age);//此時age已經變成3,自然打印3了

查看完整回答
反對 回復 2017-11-27
  • 油潑褲帶面
    油潑褲帶面
    額 沒看懂,能否幫我理下運行順序?
  • 風中打傘的小孩
    風中打傘的小孩
    其實,輸出結果已經可以告訴我們運行順序了 這個例子中,先初始化父類屬性,有值的賦值(age=20),沒值的賦初值(name=null),然后再執行父類構造函數,對這些屬性(沒賦值的)進行初始化或(賦值的)改變值。 這樣說,挺奇怪的,形象得在age=3;后面再打印輸出age的值: 年紀:20 年紀:3
  • 1 回答
  • 0 關注
  • 1107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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