Начал изучать Java и не могу понять работу наследования.
Имеется класс, наследуемый от Pane.
public class Tone extends Pane{
int x = 100;
int y = 100;
Background skin = new Background(new BackgroundFill(Color.rgb(255, 255, 0), CornerRadii.EMPTY, Insets.EMPTY));
Tone() {
this.setPrefSize(this.x, this.y);
this.setBackground(this.skin);
this.setOnMouseEntered(e ->{
show();
});
this.setOnMouseExited(e -> {
show();
});
}
void show() {
if(this.getChildren().isEmpty()) {
Text stat = new Text(this.x + " " + this.y);
this.getChildren().add(stat);
}
else {
this.getChildren().clear();
}
}
}
От данного класса наследуется другой класс, в котором изменены значения переменных.
public class Ttwo extends Tone {
int x = 300;
Background skin = new Background(new BackgroundFill(Color.rgb(255, 0, 0), CornerRadii.EMPTY, Insets.EMPTY));
}
При создании объекта Ttwo не меняет свой размер, отображение значения, а так же цвет фона.
Подскажите, в чем заключается ошибка?
В классе Ttwo
нет ни одного места, которое бы работало с переменными x
и skin
, более того называть переменные дочернего класса именами родительского класса является стилистической ошибкой.
Вызывая метод show() у экземпляра Ttwo
выполняется блок кода написанный в Tone
и используются переменные, находящиеся в этом же файле.
То, что вам нужно - это передать в конструкторе Ttwo
значения переменных в родительский класс.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я хочу отправить запрос на сервер сделанный на Flask запрос с данными в формате JSON(в некоторых случаях POST запрос, а в некоторых случаях GET) из программы...
Нужно подключиться к удаленном апи по протоколу rpc json примерный формат такой
Есть метод, которому в параметре передается список строк (List<String>), из этого списка мне необходимо составить Map<String,Long>, где ключом(key)...