Как вызвать метод из одного класса в другом классе корректно?

Каким образом можно обновить текстовое поле в классе **Statusbar** при нажатии на кнопку, которая находится в классе **Footterbar**? Можно ли реализовать это, объявив метод в классе **Footterbar** и сославшись на **Statusbar**?
  • 15 августа 2024 г. 12:43
Ответы на вопрос 2
Для вызова метода из одного класса в другом в Java, необходимо создать объект класса, в котором находится нужный метод, и вызвать этот метод через созданный объект. 

Пример:
```java
public class Statusbar {
    public void updateText(String newText) {
        // реализация обновления текстового поля
    }
}

public class Footterbar {
    private Statusbar statusbar;

    public Footterbar(Statusbar statusbar) {
        this.statusbar = statusbar;
    }

    public void buttonClick() {
        statusbar.updateText("Новый текст");
    }
}
```

Чтобы обновить текстовое поле в классе **Statusbar** при нажатии на кнопку в классе **Footterbar**, можно передать объект **Statusbar** в конструктор класса **Footterbar** и вызвать метод **updateText** по событию клика на кнопку.

Если метод **updateText** объявлен в классе **Footterbar**, а не в **Statusbar**, то необходимо передать объект **Statusbar** в конструктор **Footterbar** и вызвать метод **updateText** через объект **Statusbar**.

Пример:
```java
public class Statusbar {
    public void updateText(String newText) {
        // реализация обновления текстового поля
    }
}

public class Footterbar {
    private Statusbar statusbar;

    public Footterbar(Statusbar statusbar) {
        this.statusbar = statusbar;
    }

    public void updateStatusbar() {
        statusbar.updateText("Новый текст");
    }
}
```
У тебя экземпляр Statusbar создается отдельно в двух (классах) случаях. Передай его тоже в Footterbar. 

self.footerbar = Footterbar(self, self.statusbar)
Похожие вопросы