Один публичный класс в файле в Java
В одном файле .java допускается
несколько классов верхнего уровня, но
public может быть только у одного
из них. Имя этого класса должно совпадать
с именем файла без расширения:
package site;
public class Page {
public String title = "home";
}
class PageFooter {
String text = "footer";
}
Класс PageFooter без public
служит вспомогательным и виден только
внутри пакета site. Файл называется
Page.java - как единственный
публичный тип внутри.
Если попытаться объявить два public
класса в одном файле, компилятор выдаст
ошибку. Поэтому каждый публичный тип
обычно выносят в свой файл:
package site;
public class User {
public String name;
public User(String name) {
this.name = name;
}
}
package site;
public class Group {
public String title;
public Group(String title) {
this.title = title;
}
}
Точка входа main часто живёт в
отдельном public class Main в своём
файле Main.java, даже если рядом
в том же пакете лежат другие публичные
типы.
В одном файле src/geo/Point.java
с пакетом geo объявите public
класс Point и вспомогательный
класс PointUtils без public.
Убедитесь, что имя файла совпадает
с публичным классом.
Разнесите User и Group
из примера урока по файлам User.java
и Group.java с тем же package
site. Добавьте Main.java,
который создаёт оба объекта и выводит
их поля.