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

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

關于屬性繼承如下

public class car(){

int num;

String name;

public car(){

System.out.println("這個是父類的方法");

}

public class?bus extends car{

public bus(){

System.out.println(name+"上乘坐"+num);

}

public class demo(){

car a=new bus();

a.num=10;

a.name="xiaomi";

}

}

問什么運行出來是name和num是空

}

正在回答

4 回答

很簡單,這個題目出來的值為空,并不是因為賦值失敗,而是因為構造函數先執行了,你創建對象的時候就執行構造函數,所以先Sys出屬性值,當時還沒有被復制,當然是初始值的空了。然后才執行到賦值。

解決的方法很簡答, 你在 class car里再寫一個方法

public void show(){

System.out.println(name+"上乘坐"+num);

}

然后主函數main 在最下面調用

a.show();

出來的就是:

xiaomi上乘坐10


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

價值0 提問者

非常感謝!
2017-02-03 回復 有任何疑惑可以回復我~

public class demo{

public static void main(String[] args)

{

? ? ? ? car1 a=new bus();

? ? ? ?

}

}


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

public class bus extends car1?

{

? ? public bus()

? ? {

super(14,"xiaomi");

? ? ? ? System.out.println(name+"上乘坐"+num);

? ? }

}


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

public class car1?

{

? ? int num;

? ? String name;

? ? public car1(int num,String name)

{

this.num=num;

this.name=name;

? ?

? ? System.out.println("這個是父類的方法"+name);

? ? }


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

舉報

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

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

進入課程

關于屬性繼承如下

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

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

幫助反饋 APP下載

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

公眾號

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