Back to questions
Junior — Middle
97
Какое отличие между методом по умолчанию и статическим методом в Java?
Answer from AI
sobes.tech AI
Метод по умолчанию (default method) в Java — это метод интерфейса с реализацией, который может быть переопределён в классах, реализующих этот интерфейс. Он позволяет добавлять новые методы в интерфейсы без нарушения существующего кода.
Статический метод (static method) в интерфейсе или классе принадлежит самому интерфейсу или классу, а не экземпляру. Его можно вызвать без создания объекта, через имя интерфейса или класса.
Основные отличия:
- Контекст вызова: default метод вызывается на экземпляре, static — на интерфейсе/классе.
- Наследование: default методы могут быть переопределены в классах, static — нет.
Пример:
interface MyInterface {
default void defaultMethod() {
System.out.println("Default method");
}
static void staticMethod() {
System.out.println("Static method");
}
}
class MyClass implements MyInterface {}
public class Test {
public static void main(String[] args) {
MyClass obj = new MyClass();
obj.defaultMethod(); // Вызов default метода
MyInterface.staticMethod(); // Вызов статического метода
}
}