Создание Java-класса в основном файле? - PullRequest
1 голос
/ 19 июля 2011

Можно ли создать класс в том же файле, который содержит метод main?Конкурс программирования, на котором я практикуюсь, принимает только один файл в качестве решения, поэтому я не могу написать класс в отдельном файле и отправить его.

Я знаю, что вы можете создавать внутренние классы, но это делаетобеспечить ту же функциональность, что и обычные классы?

Ответы [ 4 ]

2 голосов
/ 19 июля 2011

Да, вы можете определить несколько классов верхнего уровня в одном файле .java. См. Java: несколько объявлений классов в одном файле

В большинстве случаев вложенные классы должны работать так же хорошо. Вы можете объявить такие классы static, чтобы избежать неявной ссылки на внешний класс .

0 голосов
/ 19 июля 2011

С точки зрения компилятора на 100% допустимо иметь несколько классов в одном исходном файле. Я часто использую эту функцию для создания иерархии объектов на одном экране и последующего рефакторинга классов и интерфейсов для собственных исходных файлов. Пожалуйста, помните, что только один класс в исходном файле может быть общедоступным.

public class Runner {
    public static void main(String[] args){
       new A().process();
    }
 }
class A{
    public void process(){
      ...
     }
}
0 голосов
/ 19 июля 2011

Внутренние классы не могут иметь статические методы, поэтому вы не можете иметь main там.Однако статические вложенные классы действительно могут иметь main.

Кроме того, как говорится в ответе aix, в одном и том же исходном файле также может быть несколько закрытых для пакета классов верхнего уровня.

0 голосов
/ 19 июля 2011

У вас всегда есть класс, содержащий основной метод, но вы также можете помещать внутренние классы и в этот класс.

...