есть ли польза от написания открытых классов для основного метода? - PullRequest
2 голосов
/ 21 января 2012

Мы можем написать Java-программу с одним непубличным классом, содержащим метод main - он будет компилироваться и работать просто отличноПочему люди делают основной класс публичным?

Есть ли какая-то выгода?

Ответы [ 3 ]

2 голосов
/ 21 января 2012

Нет смысла делать класс общедоступным, потому что у него есть метод main.

Это, как говорится, на самом деле не так много причин, чтобы не делать этого. Скорее всего, основной класс либо будет очень коротким с небольшим количеством существенных методов (если таковые имеются), либо он будет встроен в один из основных классов, например

class Server {
    public static void main(String[] args) {
        Server s = new Server();
        s.start();
    }
    // rest of Server class here
}

И, как правило, эти базовые классы - это то, что вы хотели бы сделать общедоступными.

Но дело не в том, что занятия должны быть публичными. Речь идет о преимуществах наличия класса public , потому что у него есть основной метод , и в результате этого нет прямых преимуществ.

1 голос
/ 21 января 2012

Просто потому, что клиенты будут иметь доступ к созданию объектов вашего класса на основе доступности, которую вы указали для своего класса.Если вы посмотрите на исходные библиотеки Java, то увидите также много частных (внутренних классов) классов.Зависит от того, кому вы хотите разрешить доступ для создания объектов вашего класса.

0 голосов
/ 21 января 2012

Преимущество у вас будет, только если классы, которые вы используете в методе main, не принадлежат одному и тому же пакету. Public class будет иметь видимость для всех пакетов.

...