為什么我調用了子類的方法,給子類的屬性賦了值,輸出的結果卻只為零
測試類 package?imooc.com;public?class?Tt?{ public?static?void?main(String[]?args)?{ //?TODO?Auto-generated?method?stub AA?aa=new?AA(); AA?n=new?BB(); n.a=1;n.b=2; double?d=n.Nn(); System.out.println(d); }}
類1
package imooc.com;
public class AA {
public double a;
public double b;
public double Nn(){
double s=0;
return s;
}
}
類2
package imooc.com;
public class BB extends AA {
public double a;
public double b;
public double Nn(){
double s=0;
s=a+b;
return s;
}
}
2018-08-30
我把你的代碼拿來試了一下,發現你的值是賦到了父類的a和b
所以子類的a和b的值為0,返回的值就為0
2018-09-09
繼承的初始化順序是先父類后子類,你的值賦給父類了。
2018-08-14
哥們,你試試:
b類
package imooc.com;
public class BB extends AA {
public double Nn(){
double s=0;
s=a+b;
System.out.println(""+s);
return s;
}
}