為什么我調用了子類的方法,給子類的屬性賦了值,輸出的結果卻只為零
測試類
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
我把你的代碼拿來試了一下,發(fā)現你的值是賦到了父類的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;
}
}