-
package com.imooc.reflect; import java.lang.reflect.Method; import java.util.ArrayList; public class MethodDemo4 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ArrayList list = new ArrayList(); ArrayList<String> list1 = new ArrayList<查看全部
-
package com.imooc.reflect; import java.lang.reflect.Method; public class MethodDemo1 { public static void main(String[] args) { //要获取print(int,int)方法 //1、要获取一个方法就是获取类的信息,获取类的信息首先要获取类的类类型 A a1 = new A(); Class c = a1.getClass(); /** * 2、获取方法,名称和参数列表来决定 * getMethod获取的是Public的方法查看全部
-
package com.imooc.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class ClassUtil { /** * 打印类的信息,包括类的成员函数,成员变量(只获取成员函数public) * @param obj 该对象所属类的信息 */ public static void printClassMessage(Object obj){ //获取类的信息 首先要获取类查看全部
-
方法的反射操作 类名 实例名 = new 类名(); Class cls = 实例名.getClass(); Method m=cls.getMethod("方法名",new Class[]{基本数据类型.class[,基本数据类型.class...]}); Method m=cls.getMethod("方法名",基本数据类型.class[,基本数据类型.class...]); Object o=m.invoke(实例名,new Object[]{参数值[,参数值...]}); Object o=m.invoke(实例名,参数值[,参数值...]);查看全部
-
成员变量也是对象(java.lang.reflect.Field) 获取所有 public 的成员变量信息 cls.getClass().getFields() 获取该类自己声明的成员变量信息 cls.getClass().getDeclaredFields() 构造方法类似查看全部
-
获取基类的类类型 Class cls = 基类.class (int,String,double,void等) 获取基类的名称 cls.getName()(全称:java.lang.String) cls.getSimpleName() (简称:String) 获取所有的 public 的函数,包括继承父类而来的 类名.getClass().getMethods() 获取所有该类自己声明的方法,不论访问权限 getDeclaredMethods() getReturnType() 获取返回类型的类类型 getParameterTypes() 获取参数类型查看全部
-
Class.forName(“类的全称”) A、不仅表示了类的类类型,而且还是动态加载类 B、编译时刻加载类是静态加载类、运行时刻加载类是动态加载类查看全部
-
类是对象,类是 java.lang.Class 类的实例对象 任何一个类都是 Class 的实例对象,这个实例对象有三种表示方式 A、任何一个类都有一个隐含的静态成员变量 class Class cls = 类名.class B、知道该类的对象通过 getClass 方法获取 Class cls = 实例名.getClass() C、通过类名加载 Class cls = Class.forName("包名.类名") 通过类的类类型创建类的对象实例(需要默认无参构造方法) 类名 实例名 = (类名)cls.newInstance()查看全部
-
测试一下查看全部
-
通过反射了解集合泛型的本质查看全部
-
方法的反射操作 A a1 = new A(); Class c = a1.getClass(); Method m=c.getMethod("print",new Class[]{int.class,in.class}); Method m1=c.getMethod("print",String.class,String.class); Object o=m.invoke(a1,new Object[]{10,20}); Object o1=m.invoke(a1,10,20);查看全部
-
泛型可以通过反射绕过编译检查查看全部
-
构造方法 Constructor查看全部
-
类也是对象查看全部
-
Class的构造方法为私有的 只有java虚拟机创建Class实例对象查看全部
举报
0/150
提交
取消