我的新的java ..當我運行此程序我正在此結果的爲什麼我得到錯誤的答案?
值在A類是在B類2
值k的是在B類6
值是0
總和是6
爲什麼我在B類中獲得a的值爲0?
class A{
int a;
void showa(){
System.out.println("value of a in class A is "+a);
}
}
class B extends A{
int k;
void showk(){
System.out.println("value of k in class B is "+k);
System.out.println("value of a in class B is "+a);
}
void res(){
System.out.println("sun is "+(k+a));
}
}
public class test1 {
public static void main(String args[]){
A a = new A();
a.a=2;
B b = new B();
b.k =6;
a.showa();
b.showk();
b.res();
}
}
你期待什麼價值?由於它沒有分配它有它的默認值,0. – Zong
b和a是不同的實例,所以他們的a有不同的值 – Michael