Java_反射的学习记录|参考JAVA核心卷一

反射

java.lang.Class

T newInstance()

返回无参构造器构造的一个新实例

T cast(Object obj)

如果obj为null或有可能转换成类型T,则返回obj;否则抛出BadCastException异常

T[] getEnumConstants()

如果T是枚举类型,则返回所有值组成的数组,否则返回null

Class getSuperclass()

返回这个类的超类。如果T不是一个类或Object类,则返回null

Constructor getConstructor(Class... parameterTypes)

Constructor[] getDeclaredConstructors()

获得公有构造器 或指定参数类型的构造器以及数组

java.lang.reflect.Constructor

T newInstance(Object... parameters)

返回用指定参数构造的新实例

举个例子

class People {
    public static  T getObject(Class clazz){
        try {
            return clazz.newInstance();
        } catch (InstantiationException | IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }
};
 People p = People.getObject(People.class);
 System.out.println(":"+p.getClass().getSimpleName()); // People

你可能感兴趣的:(JAVA)