//先看代碼
//創(chuàng)建一個(gè)父類(lèi)
public?class?Plant{
?String?color;
?String?kind;
?private?int?age;
?public?void?eat(){
???System.out.println("有的植物可以被食用,比如香蕉。");
?}
}
//創(chuàng)建子類(lèi)
public?class?Banana?extends?Plant{
}
//創(chuàng)建運(yùn)行類(lèi)
public?class?Run{
public?static?void?main(String[]?args){
?Banana?banana=new?Banana();
??banana.color="yellow";
??banana.kind="fruit";
??banana.eat();
??System.out.println("香蕉的顏色是"+banana.color);
??System.out.println("香蕉的種類(lèi)是"+banana.kind);
}
}
//運(yùn)行結(jié)果:
//有的植物可以被食用。
//香蕉的顏色是yellow
//香蕉的種類(lèi)是fruit
//再創(chuàng)建一個(gè)Banana的子類(lèi)
public?Hello?extends?Banana{
}
//再創(chuàng)建一個(gè)運(yùn)行類(lèi)
public?class?Run2{
public?static?void?main(String[]?args){
?Hello?hello=new?Hello();
?hello.eat();
?System.out.println(hello.color);
?System.out.println(hello.kind);
}
}
//運(yùn)行結(jié)果:
//有的植物可以被食用。
//null
//null
為什么Hello類(lèi)作為Banana的子類(lèi)卻不能繼承Banana的屬性和方法(顯然eat方法是繼承Plant);
課程里說(shuō)Java只能單繼承,我創(chuàng)建的Hello類(lèi)是Banana的子類(lèi),卻繼承了Plant類(lèi)的屬性和方法,這是不是有兩個(gè)父類(lèi)呢?
望高手解答,謝謝!
2016-01-06
2016-01-06
eat方法的運(yùn)行結(jié)果少寫(xiě)了“比如香蕉”,請(qǐng)忽略。