我想知道的是,当我们调用initialize_animal()
1指向的类animal(即)中定义的静态方法时,那么在main函数的执行上输出是:Default height 0
.
但是如果我们把语句 1 放在语句 2 的下面,那么我们执行 main 函数,输出是:Default Height 20
.
请告诉我两个输出出现这种差异的原因。
class test {
public static void main(String[] args) {
animal.initialize_animal(); // (1)
cat obj=new cat(); //2
System.out.println("Default height:" +obj.getheight());
}
}
class animal {
static int Height;
public animal() {
Height=0;
}
public int getHeight() {
return Height;
}
public static void initialize_animal() {
Height=20;
}
}
class cat extends animal {
String Sound;
Public cat() {
Sound="mew";
}
public String getSound() {
return Sound;
}
}