Вы можете иметь более одного класса на файл, но только один класс может быть public
, и его имя должно совпадать с именем файла (например, public MyClass
в MyClass.java).
открытый класс файла будет виден внешнему миру , и, в частности, если в классе есть метод public static main(String[] args)
, его можно использовать для запуска приложения.
В вашем случаенапример, после того, как вы скомпилировали свой файл с использованием javac, вы получите файлы Something.class
и SomethingElse.class
.
С помощью команды java SomethingElse
виртуальная машина Java сообщит следующее:
- Найдите класс SomethingElse, который должен быть в файле SomethingElse.class.
- вызовите метод main, соответствующий подписи, которую я вставил выше для этого класса (и поместив любой заданный аргумент в * 1020.* array).
Вы не можете вызвать java Something
, потому что класс не является общедоступным и не имеет метода main.Но другие классы в вашей программе (и, в частности, SomethingElse, могут использовать ваш класс Something).