Java 构造器有哪些关键特性?
先说出你的答案
定义边界、关键机制、一个反例;P8题再补容量、失败与验证。
查看完整题解
参考回答
直接回答
构造器与类同名,没有返回类型,负责建立新实例的初始状态,可以重载但不能继承或重写。普通类未声明任何构造器时,编译器才会提供默认构造器。Java 21 中,显式的 this 或 super 构造器调用必须在构造器体第一条语句,构造链不能循环。
讲清原理
父类部分、当前类的实例字段及初始化块、构造器体有明确的执行规则。通过 this 委托到本类另一个构造器时,不会因此为同一个实例重新分配一遍全部字段,也不应重复执行同一层的实例初始化。
构造器不能声明为 static、abstract 或 synchronized。构造期间也不宜泄露 this,或调用可能触达尚未初始化子类状态的可重写方法。
例子与易错点
class Item {
Item() { this(2); System.out.println("无参体"); }
Item(int n) { System.out.println("带参体 " + n); }
}
new Item(); // 先 带参体 2,再 无参体
在构造器中写 return; 可以提前正常结束,但不能返回一个表达式。枚举、record 等特殊类还有各自的构造规则;回答普通类时,不应承诺所有类型都自动有可公开调用的无参构造器。
相关题:第 7 题、第 27 题、第 29 题、第 39 题、第 42 题。
和评分标准对照,你能独立回答到哪一步?
自评会安排下一次复习,不保存你的口述内容。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。