 
		cherry815
2016-08-24 14:58
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
 
				代码是从上往下执行。
输出null:0;因为调用eat()时候,变量name和age还没赋值;
如果把dog.eat();移到dog.age=2;的下面,当执行eat()的时候,name和age则已经被赋值了。
 
				可以使用构造方法对像进行初始化,给其赋值
Java入门第二季
531292 学习 · 6327 问题
相似问题