- 使用new关键字:最常见的创建对象的方式是使用new关键字。通过new关键字可以实例化一个类。
- 使用反射机制: Java的反射机制允许在运行时动态地创建对象。可以通过Class类的newInstance()方法或Constructor类的newInstance()方法来创建对象。例如
Class<?> clazz = Class.forName("com.example.My Class");
MyClass obj = (MyClass) clazz.newInstance();
- 使用clone()方法: Java中的Object类提供了clone()方法,可以复制一个对象并创建一个新的对象。需要实现Cloneable接口并重写clone()方法。例如:
MyClass obj1 = new MyClass();
MyClass obj2 = obj1.clone();
- 使用工厂模式:工厂模式是一种设计模式,通过工厂类来创建对象,隐藏对象的创建细节。可以通过工厂方法或抽象工厂来创建对象。例如
public interface MyFactory {
MyClass createObject();
}
public class MyFactoryImpl implements MyFactory{
public MyClass createObject() {
return new MyClass();
}
}
MyFactory factory = new MyFactoryImpl();
MyClass obj = factory.createObject();
- 使用反序列化:通过反序列化可以将对象从字节流中还原为对象。可以使用ObjectInputStream类来实现对象的反序列化。例如:
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("object.ser"));
MyClass obj = (MyClass) ois.readObject();
注意
以上几种方式在面试中经常问题,平时多留意一下。