嗨,我只是想确保我有正确的这些概念。Java 中的重载意味着您可以拥有具有不同数量参数或不同数据类型的构造函数或方法。IE
public void setValue(){
this.value = 0;
}
public void setValue(int v){
this.value = v;
}
这个方法怎么样?由于它返回不同的数据类型,它是否仍会被视为重载?
public int setValue(){
return this.value;
}
第二个问题是:java 中的覆盖是什么?是否与继承有关。让我有以下内容:
public class Vehicle{
double basePrice = 20000;
//constructor defined
public double getPrice(){
return basePrice;
}
}
public class Truck extends Vehicle{
double truckPrice = 14000;
//constructor defined
public double getPrice(){
return truckPrice;
}
}
所以现在假设我有以下
Truck truck = new Truck();
如果我打电话
truck.super.getPrice()
这将返回 Vehicle 类的价格,20,000
如果我打电话
truck.getPrice()
这将返回卡车类的价格,14,000
我的知识对这两个问题都正确吗?