Нет. Классов в одном файле можно создавать сколько угодно. Есть только несколько ограничений. Например:
1. Только один класс "на верхнем уровне" может быть public, т.е. для стороннего пользователя компонентами будет виден только этот класс из файла. Т.е. запись типа такой невозможна.
| Код | public class A ... public class B ...
|
2. Такое ограничение можно обойти, если объявить класс как вложенный в основной и сделать объявление как статик. Например:
| Код | public class My { public static class My1 { public My1() { } public void showHello() { System.out.println("Hello, My1"); } } public class My2 { public My2() { } public void showHello() { System.out.println("Hello, My2"); } } public My2 getMy2() { return new My2(); } }
|
Теперь в каком-нибудь другом пакете можно использовать классы My1 и My2 следующим образом:
| Код | public class Your { public static void main(String[] args) { My.My1 a1 = new My.My1(); a1.showHello();
My a = new My(); My.My2 a2 = a.getMy2(); a2.showHello(); } }
|
Можно обратит внимание на разные способы создания классов My1 и My2 |