Почему это правильный подход к кодированию в основном классе Java - PullRequest
2 голосов
/ 10 апреля 2019

Недавно я увидел код Java, который я упростил ниже. Я не понимаю, почему кто-то хотел бы использовать новый Main () в Main Class. Может ли кто-нибудь объяснить обстоятельства, по которым это будет использовано?

public class Main {
    public static void main(String[] args) {
         // write your code here
         new Main();
    }

    public Main() {
         System.out.println("hello world");
    }
}

1 Ответ

0 голосов
/ 10 апреля 2019

Он действителен в том смысле, что он компилируется и запускается, но концептуально не совсем корректен.

Вы создаете новый объект типа Main только для немедленной его отмены. Его конструктор используется не как истинный конструктор (потому что он ничего не инициализирует, и объект без сохранения состояния все равно будет отброшен), а скорее как просто другой метод.

Итак, почему бы не использовать другой метод?

public class Main {
    public static void main(String[] args) {
         doStuff();
    }

    public static void doStuff() {
         System.out.println("hello world");
    }
}

doStuff действительно что-то добавляет сюда? Не особенно. Это дает нам возможность дать значимый идентификатор методу, где ранее мы были вынуждены использовать имя main. Может быть, это ценно, а может, и нет.

...