這給山地車所有相同的字段和方法自行車,但允許其代碼完全集中於,使其獨特的功能。這使得您的子類的代碼易於閱讀。但是,必須注意正確記錄每個超類定義的狀態和行爲,因爲該代碼不會出現在每個子類的源文件中。
但是在我的代碼中,繼承無法正常工作,可能是由於我的代碼存在缺陷?
package java1;
class bicycle {
int speed = 0;
int gear = 1;
void accelerate(int incr) {
speed = speed + incr;
}
void decelerate(int incr) {
speed = speed - incr;
}
void changeGear(int val) {
gear = val;
}
void printInfo() {
System.out.println("Speed: " + speed + " Gear: " + gear);
}
}
class mountainbike extends bicycle {
int speed = 10;
}
public class Main {
public static void main(String[] args) {
mountainbike mb1 = new mountainbike();
mb1.accelerate(20);
mb1.accelerate(10);
mb1.printInfo();
}
}
山地自行車班應該繼承自行車班的所有特點吧?我添加了一個獨特的屬性,它是int speed = 10
,所以啓動速度應該是10。不過上運行的編譯器將啓動速度爲0
任何想法?
感謝您的回覆。顯然,在編程世界中有很多種方法來解決障礙:D 現在我想我會使用構造函數併爲簡單起見分配'speed = 10',我真的不知道如何使用' public'和'private'和'super()'的東西。 – Fabian 2009-12-18 12:28:07