我是新手在Java中。所以問題可能聽起來很簡單,但我卡住了,不知道爲什麼這個代碼返回null和0.0?方法重寫返回null
文件:Transport.java
public class Transport { private String name; private double price; public Transport(String name, double price) { this.name = name; this.price = price; } public String carName() { return name; } public double carPrice(){ return price; } }
文件:Car.java
public class Car extends Transport{ protected String name; protected double price; public Car(String name, double price) { super(name, price); } @Override public String carName(){ return name; } @Override public double carPrice(){ return price * 1.5; } }
文件:Main.java
public class Main { public static void main(String[] args) { Car c = new Car("CarBrand", 1000); System.out.println("Name: " + c.carName()); System.out.println("Price: " + c.carPrice()); } }
輸出
好吧,明白了。但是,從Car類調用'carPrice()'方法的正確方法是什麼? – Gerardas 2014-09-26 20:39:42
@Gerardas:我不確定你的意思。我已經在回答中向您展示瞭如何從'Car'調用'Transport'實現來調用原始方法,該方法只返回'price'變量......使用我的答案中的代碼替換您的類,這就是所有你需要做的。 – 2014-09-26 20:40:26
何時寫評論,上面沒有代碼...謝謝你的幫助! :) – Gerardas 2014-09-26 20:44:00