Здравствуйте, я изучаю Java, и у меня возникает вопрос, озадачивающий меня - некоторые интерфейсы, когда мы реализуем их и переопределяем их пустые методы, даже если мы ничего не помещаем в переопределение, когда мы вызываем метод, который дает эффект.
Вот некоторые конкретные примеры, которые меня смущают:
Реализация интерфейса AutoCloseable
и переопределение его метода close () позволят нам закрытьobject,
То же самое для интерфейса Initializable
, если переопределить его для приложений JavaFx, это инициализирует наши элементы управления, и в обоих случаях мы ничего не помещаем в переопределение, но метод имеет действие, я имею в видукак?!
В терминах кода Вот интерфейс AutoClosable
пакет java.lang;
public interface AutoCloseable {
void close() throws Exception;
}
И когда я его реализую, ясделайте следующее
@Override
public void close() throws Exception {
}
, затем в другом классе я смогу использовать этот метод close при попытке перехвата ресурсов, так как это
try(SecurityController security = new SecurityController()) {
} catch (Exception ex) {
}
Так что здесь я смог закрыть объект дажехотя в интерфейсе или в моей реализации нет ни одного кода
Более подробно здесь приведен код интерфейса Initializable
public interface Initializable {
public void initialize(URL location, ResourceBundle resources);
}
, и когда я его реализую, я сделаю следующее:
@Override
public void initialize(URL url, ResourceBundle rb) {
}
и когда яЗапустите приложение JavaFx, этот метод инициализирует мои элементы управления, даже если этот метод пуст как в моем классе, так и в интерфейсе, и я не могу работать с элементами управления, пока этот метод не завершит выполнение, потому что это то, что инициализирует мои элементы управления, но как это делаетпока пусто я не понимаю ?!
Буду признателен, если кто-нибудь сможет мне это объяснить, потому что это меня очень смущает