class.forName和newInstance的区别
小樊
133
2024-06-27 00:47:43
- Class.forName():
- Class.forName()方法是静态方法,用于加载并初始化一个类。
- 它返回一个Class对象,可以通过Class对象获取该类的其他信息。
- 当调用Class.forName()方法时,会触发类的静态初始化,执行静态代码块等操作。
- newInstance():
- newInstance()方法是实例方法,用于创建一个类的实例对象。
- 它返回一个Object类型的实例对象,需要进行类型转换才能使用。
- 当调用newInstance()方法时,会调用类的无参构造方法来创建实例对象。
总结:
- Class.forName()方法主要用于加载和初始化类,适用于需要直接操作类的场景。
- newInstance()方法主要用于创建实例对象,适用于需要通过反射机制动态创建对象的场景。