如果你想要结果是 4, class2, 那么把你的class2安下面修改。 classes2 的 METHOD要override super class 的 method 才可以。如果只是直接调用class1的method, 那么在运行的print的时候x的赋值当然是1。class class2 extends class1{
int x=4;
void print()
{
System.out.println(x+" "+this.getClass().getName());
}
}
int x=4;
void print()
{
System.out.println(x+" "+this.getClass().getName());
}
}
我运行过的,很对!
{
class2 myclass=new class2();
myclass.print();
}oo問題,
由于你在class2中沒有構造函數,所以執行class2 myclass=new class2();
的時候什么都不會做!當然沒有x=4之說!那么myclass.print()的x就等于1咯!
的時候什么都不會做!當然沒有x=4之說这句话不对。myclass.x是等于4的。