Нет смысла делать класс общедоступным, потому что у него есть метод main.
Это, как говорится, на самом деле не так много причин, чтобы не делать этого. Скорее всего, основной класс либо будет очень коротким с небольшим количеством существенных методов (если таковые имеются), либо он будет встроен в один из основных классов, например
class Server {
public static void main(String[] args) {
Server s = new Server();
s.start();
}
// rest of Server class here
}
И, как правило, эти базовые классы - это то, что вы хотели бы сделать общедоступными.
Но дело не в том, что занятия должны быть публичными. Речь идет о преимуществах наличия класса public , потому что у него есть основной метод , и в результате этого нет прямых преимуществ.