Другие ответы дают хорошие отзывы об интерфейсах, и это, вероятно, больше, что вы ищете.Тем не менее, для получения дополнительной информации, нет необходимости создавать новый файл .java для каждого нового класса, есть альтернативы .Тем не менее, имейте в виду, что больше классов не обязательно плохо.Возможны следующие варианты: *
Вложенный класс:
public class A {
public/private class B {
}
}
Экземпляры B могут обращаться к частным переменным A, но не могут быть созданы без экземпляра A (этоэто подход, часто используемый для обработчиков кнопок и т. д.)
Вложенный статический класс:
public class A {
public/private static class B {
}
}
Экземпляры B не могут получить доступ к закрытым переменным A, но они нетребуют, чтобы экземпляр A был построен.Экземпляры B могут быть созданы где угодно, если B объявлен как public, или только в методах A, если B объявлен как private.
Анонимный класс:
public class A {
private void setupLayout() {
...
button.addClickListener(new ActionListener() {
public void actionPerfored(ActionEvent e)
{
handleClick();
}
});
}
}
Это странноСинтаксис создает класс, который не имеет имени и функционирует так же, как вложенный класс (например, может обращаться к закрытым переменным).Это альтернативная форма написания вложенных классов, которая иногда короче, но приводит к очень странному синтаксису.