Ребята, у меня есть простой, но жуткий вопрос. Насколько я понимаю, static
в основном означает, что для каждого экземпляра этого класса этот метод будет таким же, если мы его изменим, это изменится для каждого отдельного экземпляра этого класса, его также называют методом класса. Ну, если у меня есть класс, который реализует метод toString()
ведьма определенный формат, скажем:Почему toString() не может быть статическим методом?
public String toString() {
return "(" + x + "," + y + ")";
}
Почему не может это быть установлен как статический? Поскольку этот формат будет одинаковым для каждого экземпляра этого класса ...?
Подумайте о x и y. Если они нестатические поля, статический метод не может получить к ним доступ. –
@PatriciaShanahan, так что вы говорите, что если x и y были статическими значениями, метод toString() может быть установлен как статический? –
Ваше понимание 'static' немного не работает. 'static' означает, что создается только один экземпляр (по крайней мере для переменных). Вы можете получить доступ к «статическим» переменным/методам, даже не создавая экземпляр объекта (например, «ClassName.toString()». Кроме того, вам не нужно создавать новый метод для каждого объекта, все они имеют один и тот же метод – Justin