Можно ли в одном Java-файле содержать несколько классов и интерфейсов к ним ? Как лучше организовать их структуру, если нужно их все (к примеру, 4 класса и интерфейса) использовать ?
Ответ
// файл MainClass.java
public class MainClass {
// скрытый внутренний класс. Виден только внутри класса MainClass.
private class MyInnerClass {
}
// скрытый интерфейс. Доступен внутри класса MainClass.
private interface MyInnerInterface {
}
// Доступен везде, но создан может быть только изнутри MainClass
public class MyPublicInnerClass {}
// Доступен везде. Может быть создан в статическом контексте.
// В отличие от обычных inner-классов, не имеет доступа к членам MainClass.
public static class MyStaticClass {}
}
// класс доступен в рамках пакета
class TestClass {
}
// интерфейс доступен в рамках пакета
interface TestInterface {
}
Только имейте в виду, что классы TestClass и TestInterface будут package-private, т.е. будут видимы только в рамках пакета.
Однако, всё же не следует злоупотреблять этими возможностями. Используйте их с осторожностью и по возможностью выносите классы в отдельные файлы.
Комментариев нет:
Отправить комментарий