Привет, я просто хочу убедиться, что у меня есть эти понятия. Перегрузка в java означает, что вы можете иметь конструктор или метод с различным количеством аргументов или разных типов данных. i.eПерегрузка 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()
это вернет цену от класса автомобиля, 20000
если я позвоню
truck.getPrice()
это будет вернуть цену в классе грузовиков, 14 000
ли мое знание правильно для обоих вопросов?
Я бы не использовать SetValue(), поскольку она является неоднозначной, как к тому, что он устанавливает значение для. clearValue() будет более понятным и, следовательно, не будет необходимости перегрузки. –
Вы имеете в виду переопределение, не переписывание. методы перезаписи объекта чаще всего обсуждаются в JavaScript. то есть. Object.toString = function() {return "эта функция была перезаписана";}; –