Найти тему
DEBAGanov

Java 297. В чем разница между статическими и нестатическими методами?

Разница между статическими и нестатическими методами заключается в том, как они связаны с классом и объектами.

Статические методы принадлежат классу, а не отдельным объектам. Они объявляются с использованием ключевого слова static. Такие методы могут быть вызваны без создания экземпляра класса и обычно используются для выполнения операций, которые не зависят от состояния конкретного объекта класса. К ним можно обращаться через имя класса, а не через объект класса.

Пример:

public class Math {
public static int sum(int num1, int num2) {
return num1 + num2;
}
}

Здесь метод sum является статическим методом класса Math и может быть вызван, используя имя класса: Math.sum(3, 5).

Нестатические методы, напротив, принадлежат отдельным объектам (экземплярам класса). Они могут иметь доступ к переменным экземпляра и изменять их состояние. Для вызова нестатического метода обычно требуется создать экземпляр класса.

Пример:

public class Person {
private String name;

public void setName(String name) {
this.name = name;
}

public String getName() {
return name;
}
}

Здесь методы setName и getName являются нестатическими методами класса Person, которые устанавливают и возвращают имя объекта класса Person. Чтобы вызвать эти методы, сначала нужно создать экземпляр класса:

Person person = new Person();
person.setName("John Doe");
System.out.println(person.getName());

Таким образом, ключевое отличие между статическими и нестатическими методами заключается в том, что статические методы принадлежат классу, а нестатические - конкретным экземплярам класса.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov