嗨,我只是想确保我有正确的这些概念.在java中重载意味着您可以使用具有不同数量的参数或不同数据类型的构造函数或方法.即
public void setValue(){
this.value = 0;
}
public void setValue(int v){
this.value = v;
}
Run Code Online (Sandbox Code Playgroud)
这个方法怎么样?它是否仍会被视为重载,因为它返回不同的数据类型?
public int setValue(){
return this.value;
}
Run Code Online (Sandbox Code Playgroud)
第二个问题是:什么是重写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;
}
}
Run Code Online (Sandbox Code Playgroud)
所以现在让我说我有以下内容
Truck truck = new Truck();
Run Code Online (Sandbox Code Playgroud)
如果我打电话
truck.super.getPrice()
Run Code Online (Sandbox Code Playgroud)
这将从Vehicle类返回20,000的价格
如果我打电话
truck.getPrice()
Run Code Online (Sandbox Code Playgroud)
这将返回卡车类的价格,14,000
我的知识对两个问题都是正确的吗?