反射(Class类的使用)
- 反射:把Java类中的各种结构(方法、属性、构造器、类名)映射成一个个的Java对象。
1、获取Class对象,三种方式
- 对象.getClass()
- 类.class
- Class.forName(“包名.类名”)(推荐)
2、创建对象
Iphone iphone2 = (Iphone)clz.newInstance();
Iphone iphone2 = (Iphone) clz.getConstructor().newInstance();
3、使用示例
package com.study.server.basic;
import java.lang.reflect.InvocationTargetException;
public class RefletTest {
public static void main(String[] args) throws Exception {
Iphone iphone = new Iphone();
Class clz = iphone.getClass();
clz = Iphone.class;
try {
clz = Class.forName("com.study.server.basic.Iphone");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Iphone iphone2 = (Iphone) clz.getConstructor().newInstance();
System.out.println(iphone2);
}
}
class Iphone{
public Iphone() {
}
}