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入门第二季 升级版
530653 学习 · 6091 问题
相似问题