Я знаю, что таких вопросов было много, но во всех них ответы были: "Вы не можете запускать Java-программу с основным методом в непубличном классе". (Что, если основной метод находится внутри "не публичного класса" java файла?)
Тем не менее, я пробовал такую ситуацию в NetBeans, и все прошло отлично. Зачем?
Оказывает главным в общественном классе конвенции или строгое правило?
Правило следующее
Метод
main
должен быть объявленpublic
,static
иvoid
. Он должен указать формальный параметр (§8.4.1), объявленным типом которого является массивString
.
Однако нет ограничений на доступность охватывающего класса. Обратите внимание, однако, что классы верхнего уровня не могут быть private
или protected
. Возможно, там, где возникает ваше замешательство.
Вы можете очень хорошо
class Example {
private static class Other {
public static void main(String[] args) throws Exception {
System.out.println("main in Other");
}
}
}
и выполнить
> java Example$Other
Это покажет
main in Other
Я не знаю, почему ты это сделал, но можешь.