Java中创建对象主要用new关键字调用构造方法,需先定义类,再以“类名 引用变量 = new 类名(参数);”格式实例化;若类无显式构造方法则有默认无参构造,否则须手动添加;反射、克隆、反序列化等为补充方式。

在 Java 中创建和实例化一个对象,核心是使用 new 关键字调用类的构造方法。这会为对象分配内存、初始化字段,并返回该对象的引用。
1. 确保有一个可用的类
要实例化对象,必须先定义或引入一个类。例如:
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
}
这个类有一个带参构造方法,后续可用来创建具体对象。
立即学习“Java免费学习笔记(深入)”;
2. 使用 new + 构造方法创建对象
语法格式为:类名 引用变量名 = new 类名(参数);
- 左边声明引用变量(如
Person p),类型必须与类匹配 - 右边用
new调用构造方法,完成实际对象的创建和初始化 - 整个表达式的结果是一个指向堆中对象的引用
示例:
Person p = new Person("Alice");
3. 注意构造方法的匹配与默认构造
如果类没有显式定义任何构造方法,Java 会自动提供一个无参的默认构造方法;但一旦定义了至少一个构造方法,默认构造就不再存在。
- 若类只有带参构造(如上面的
Person(String)),就不能写new Person() - 想支持无参创建,需手动添加
public Person() { } - 构造方法可以重载,只要参数列表不同即可
4. 其他创建对象的方式(补充了解)
虽然 new 是最常用方式,但还有几种特殊情况:
-
反射:通过
Class.forName("xxx").newInstance()或Constructor.newInstance() -
克隆:调用实现了
Cloneable的对象的clone()方法 -
反序列化:从字节流恢复对象(如
ObjectInputStream.readObject()) -
工厂方法 / 依赖注入框架(如 Spring 的
ApplicationContext.getBean())
这些方式本质仍是基于类模板生成新实例,只是绕过了直接的 new 调用。


















