[英]Polymorphism, Inheritance
因此,我從Java的教程( http://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html
)中復制了MountainBike,RoadBike,TestBikes類。
然后,我制作了“ Bicycle.java”。但是,如果我嘗試通過使其成為主類來使其執行,那么它甚至都不會編譯(大量非法的表達式開頭。)
無論如何,要與所有從此類繼承屬性的類一起進行編譯?
public class Bicycle {
public static void main(String[] args) {
int cadence;
int gear;
int speed;
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
public void setCadence(int newValue) {
cadence = newValue;
}
public void setGear(int newValue) {
gear = newValue;
}
public void applyBrake(int decrement) {
speed -= decrement;
}
public void speedUp(int increment) {
speed += increment;
}
public void printDescription() {
System.out.println("\nBike is " + "in gear " + this.gear
+ " with a cadence of " + this.cadence +
" and travelling at a speed of " + this.speed + ". ");
}
}
}
您將方法放入方法內部,實際上,您已經將主方法包含了Bicycle類的所有代碼,請不要這樣做。 您的main方法應該是其自己的單獨方法,不應該包含其他方法,應該創建Bicycle實例。 在這個實例上調用方法就可以了。
public class Bicycle {
public int cadence;
public int gear;
public int speed;
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
public void setCadence(int newValue) {
cadence = newValue;
}
public void setGear(int newValue) {
gear = newValue;
}
public void applyBrake(int decrement) {
speed -= decrement;
}
public void speedUp(int increment) {
speed += increment;
}
public void printDescription() {
System.out.println("\nBike is " + "in gear " + this.gear
+ " with a cadence of " + this.cadence +
" and travelling at a speed of " + this.speed + ". ");
}
public static void main(String[] args) {
Bicycle bicycle = new Bicycle(20, 10, 2);
System.out.println(bicycle);
// ... etc
}
}
下次,請向我們顯示從一開始就引起問題的實際代碼以及您的錯誤消息。 通過這種方式,您將獲得更好的幫助,而我們都會感到沮喪。
接受先前的答案並重新開始,嘗試分解不同的方法並調試每種方法,而不要洗刷錯誤並舉手。 確保每個代碼在編譯時都進行編譯,以便您知道問題從何而來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.