没有改变的事实是:
- 一个文件中不能有多个
public
类。.java
但是,您可以public
在同一个.java
文件中拥有任意数量的非类。
- 文件的名称
.java
必须与其中的public
类相同。
.java
如果文件中的所有类都不是public
,则它可以具有任何名称。
注意:由于您在问题中提到了另一个答案,因此我在演示中也包含了这些类,以防它们有助于加入这些点。
属性.java:
import java.util.List;
public record Attribute(String name, String value) { }
record Employee(String name, Integer age, List<Attribute> attributes){ }
record Employees(List<Employee> employees) { }
酒吧.java:
public class Bar {
}
class Baz {
public void hello(){
System.out.println("Hello");
}
}
Foo.java:
import java.util.List;
public class Foo {
public static void main(String[] args) {
Attribute attr1 = new Attribute("A", "X");
Attribute attr2 = new Attribute("B", "Y");
System.out.println(attr1);
Employee e1 = new Employee("James", 23, List.of(attr1, attr2));
System.out.println(e1);
Employee e2 = new Employee("Boug", 21, List.of(attr2));
Employees emps = new Employees(List.of(e1, e2));
System.out.println(emps);
Baz baz = new Baz();
baz.hello();
}
}
终端命令:
[~/Desktop/Record]: javac Bar.java
[~/Desktop/Record]: javac Attribute.java
[~/Desktop/Record]: javac Foo.java
[~/Desktop/Record]: java Foo
Attribute[name=A, value=X]
Employee[name=James, age=23, attributes=[Attribute[name=A, value=X], Attribute[name=B, value=Y]]]
Employees[employees=[Employee[name=James, age=23, attributes=[Attribute[name=A, value=X], Attribute[name=B, value=Y]]], Employee[name=Boug, age=21, attributes=[Attribute[name=B, value=Y]]]]]
Hello