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

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

在main函數里,創建對象后,如果先調用方法然后調用屬性,輸出的屬性值為空,為什么?

Animal 類:

public class Animal {
?? ?
?? ?public int age;
?? ?public String? name;
?? ?public void eat(){
?? ???? System.out.println(name+":"+age);
?? ??? ?System.out.println("animal can eat food");
?? ?}

}


Dog 類(繼承Animal類):

public class Dog extends Animal {

}

入口類Main 函數:

public class TestAnimal {

?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?Dog dog = new Dog();
?? ??? ?dog.eat();
?? ??? ?dog.name="beibie";
?? ??? ?dog.age=2;
?? ?}

}

輸出結果:null:0
animal can eat food


如果把dog.eat();移到dog.age=2;的下面,輸出結果:

beibie:2
animal can eat food

正在回答

2 回答

代碼是從上往下執行。

輸出null:0;因為調用eat()時候,變量name和age還沒賦值;

如果把dog.eat();移到dog.age=2;的下面,當執行eat()的時候,name和age則已經被賦值了。

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

cherry815 提問者

非常感謝,懂了,多謝指教
2016-08-31 回復 有任何疑惑可以回復我~

可以使用構造方法對像進行初始化,給其賦值


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

舉報

0/150
提交
取消

在main函數里,創建對象后,如果先調用方法然后調用屬性,輸出的屬性值為空,為什么?

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

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

幫助反饋 APP下載

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

公眾號

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