Java类定义核心是合理使用访问修饰符、构造器和成员设计:必须显式声明public(否则跨包不可见),一个文件至多一个public类且文件名须匹配;构造器需显式提供无参版本以防反射或反序列化失败;成员应默认private并配getter/setter,static字段注意线程安全,final字段须在声明、构造器或初始化块中赋值。
Java中定义一个类,核心是用 class 关键字声明类型结构,但真正影响可用性的是访问修饰符、构造逻辑和成员设计是否合理——不是写出来就算对,而是得能被正确实例化、调用和继承。
类声明必须包含访问修饰符和类名
最简合法类至少要明确可见性。默认(包级私有)虽语法允许,但多数场景应显式写 public,否则在其他包中无法访问:
public class User {
// 类体
}
常见错误:省略 public 后在不同包里 new User() 报错 cannot resolve symbol;或把 public 错写在类体内部(如方法前),导致编译失败。
- 一个
.java文件最多只能有一个public类,且文件名必须与该类名完全一致(大小写敏感) - 非
public类可共存于同一文件,但无法被其他包直接引用 - 内部类可使用
private/protected,但顶层类只支持public或默认(无修饰符)
构造方法不是可选的“加分项”,而是实例化的入口
如果不定义任何构造方法,Java 会自动提供一个无参、public 的默认构造器;但只要定义了任意一个构造方法(哪怕带参数),默认构造器就立即消失。
立即学习“Java免费学习笔记(深入)”;