我是新手在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