Привет, я просто хочу убедиться, что у меня есть эти понятия. Перегрузка в java означает, что вы можете иметь конструктор или метод с различным количеством аргументов или разных типов данных. то есть
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
Я знаю, что мои знания верны для обоих вопросов?