Я проводил исследование, в котором я обнаружил следующее:Что касается конструкторов в Java
Давайте предположим, что у меня есть класс, как показано ниже, со следующими конструкторами:
public class Triangle implements Shape {
public String type;
public String height;
public Triangle(String type) {
super();
this.type = type;
}
public Triangle(String height) {
super();
this.height = height;
}
public Triangle(String type, String height) {
super();
this.type = type;
this.height = height;
}
}
Это дает мне ошибка времени компиляции. Но если я изменю height
от String
до int
все работает нормально. Ниже приводится измененный фрагмент кода:
public class Triangle implements Shape {
public String type;
public int height;
public Triangle(String type) {
super();
this.type = type;
}
public Triangle(int height) {
super();
this.height = height;
}
public Triangle(String type, int height) {
super();
this.type = type;
this.height = height;
}
}
Теперь вопрос: Предположим, я хочу String
в height
как в моем первом случае; почему он терпел неудачу? Пожалуйста, объясни.
может я спросить, какой IDE вы используете? –
Вы всегда должны проектировать свой функциональный класс - так почему же высоту String? –
Кстати, вам не нужно вводить вызовы в 'super()', Java автоматически сделает этот вызов, если вы не укажете какой-либо другой вызов конструктора. – Keppil