//先看代碼
//創建一個父類
public?class?Plant{
?String?color;
?String?kind;
?private?int?age;
?public?void?eat(){
???System.out.println("有的植物可以被食用,比如香蕉。");
?}
}
//創建子類
public?class?Banana?extends?Plant{
}
//創建運行類
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("香蕉的種類是"+banana.kind);
}
}
//運行結果:
//有的植物可以被食用。
//香蕉的顏色是yellow
//香蕉的種類是fruit
//再創建一個Banana的子類
public?Hello?extends?Banana{
}
//再創建一個運行類
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);
}
}
//運行結果:
//有的植物可以被食用。
//null
//null
為什么Hello類作為Banana的子類卻不能繼承Banana的屬性和方法(顯然eat方法是繼承Plant);
課程里說Java只能單繼承,我創建的Hello類是Banana的子類,卻繼承了Plant類的屬性和方法,這是不是有兩個父類呢?
望高手解答,謝謝!
2016-01-06
2016-01-06
eat方法的運行結果少寫了“比如香蕉”,請忽略。