可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。
为了理解,自己动手试了一下几个类的关系。
1.与public class平行的类
package com.ss.learn2;
public class Student {
private String name;
private Integer age;
public Student (String name,Integer age) {
this.name = name;
this.age = age;
}
public Integer getAge() {
return this.age;
}
public static void main(String[] args) {
Bro bro = new Bro(11);
System.out.println(bro.getAge());
}
}
class Bro{
private Integer age;
Bro(Integer age){
this.age = age;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
可以看出,一个.java文件下可以有多个类(非内部类),但只能有一个类是public,且这个类必须与文件名一致。
2.内部类
静态内部类可以被其他静态方法引用。
package com.ss.learn2;
public class Student {
private String name;
private Integer age;
public Student (String name,Integer age) {
this.name = name;
this.age = age;
}
public Integer getAge() {
return this.age;
}
public static void main(String[] args) {
Bro bro = new Bro(11);
System.out.println(bro.getAge());
}
static class Bro{
private Integer age;
public Bro(Integer age){
this.age = age;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
}
对于这样的类,由于前面没有public,所以为默认(default)方式,所以可以为本包内可见,在同一个包下的其他类可以生成相应的对象并且调用相应的方法。