-
方法参数获取查看全部
-
通过对象得到类的相关信息查看全部
-
基本类型,void都是class的实例化对象查看全部
-
动态加载类,通过Class. forName,一般功能型的类通过动态加载来实现查看全部
-
静态加载类:在编译时加载类,通过new来实现查看全部
-
可通过类类型,既实例化的Class对象,来创建该类的对象,通过调用newInstance方法来实现查看全部
-
一个类只能是Class的一个实例化对象查看全部
-
实例化Class类的两种方式查看全部
-
获取类对象的第三种方式查看全部
-
类是java.lang.class的对象查看全部
-
类是Class的对象
查看全部 -
父类的类型查看全部
-
1、编译时加载类我们成为“静态加载”,运行时刻加载类我们成为“动态加载”
2、new 创建对象是静态加载类,在编译时候就需要加载所有可能用到的类。Class.forName()实现的是动态加载。
查看全部 -
反射的操作时编译之后的操作
两个不同对象
Array list =new ArrayList();
Array<String> list2 =new ArrayList<String>(); //使用泛型约束
Class c1=list.getClass();
Class c2=list2.getClass();
c1==c2结果返回true说明编译之后集合泛型是去泛型化的
Java中集合的泛型,是防止输入错误,只在编译阶段有效
绕过编译就无效了
利用方法反射来操作,绕过编译
查看全部 -
方法的名称和方法的参数列表才能唯一决定某个方法。
方法反射的操作
利用反射机制调用方法
method.invoke(对象,参数列表) 如果没有返回值,返回null,如果有返回值返回具体的返回值,需要从Object强制转换。参数列表可以是new Object[](){object,object}; 获直接传参数 object,object。
method.invoke((对象) 调用没有参数方法。调用时使用getMethod(对象)。
getMethod(name)获取没有参数的方法,返回Method对象。
getMethod(name,parameterTypes) 获取有参数public方法包括继承的方法,name就是方法的名称,返回Method对象。提示Class...parameterTypes代表可变参数,可以是new Class[](){int.class,int.class};或者直接int.class,int.class。
getDeclaredMethod(name,paramterTypes):获得所有自己声明的方法,name就是方法的名称。Class...parameterTypes代表可变参数,可以是new Class[](){int.class,int.class};或者直接int.class,int.class。
查看全部
举报