小白学java-基础篇(反射机制)

1、Class类:
所有类的对象实际上是Class类的实例;
a、public static Class<?> forName(String className) throws ClassNotFoundException传入完整的“包.类”,名称实例化Class对象;
b、public Constructor[] getConstructor() throws SecurityException得到一个类中的全部构造方法;
c、public Field[] getDeclaredFields() throws SecurityException得到本类中单独定义的全部属性;
d、public Field[] getFields() throws SecurityException得到本类继承而来的全部属性;
e、public Method[] getMethods() throws SecurityException得到本类中的全部方法;
f、public Method getMethods(String name,Class...ParameterTypes) throws NoSuchMethodException,SecurityException返回一个Method对象,并设置一个方法中的所有参数类型;
g、public Class[] getInterfaces得到一个类中所实现的全部接口;
h、public String getName得到一个类完整的“包.类”名称;
i、public Package getPackage得到一个类的包;
j、public Class getSuperclass得到一个类的父类;
k、public Object newInstance() throws InstantiationException,IllegalAccessException根据Class定义的类实例化对象;
l、public Class<?>getComponentType()返回表示数组的Class;
m、public boolean isArray()判断此类是否是一个数组;

实例化对象可以通过类.class对象.getClass()forName()三种方法,效果是一样的,但常用forName()这个方法;
使用Class类实例化对象时一定要在类中写无参数构造函数;
反射机制可以实现动态代理、工厂模式;

!!!反射机制重点掌握

猜你喜欢

转载自blog.csdn.net/qq_29070549/article/details/79543629
今日推荐