欢迎来到天天文库
浏览记录
ID:19830309
大小:1.09 MB
页数:29页
时间:2018-10-06
《7-反射与代理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java反射与代理SCSJ002思考已知类的名称,如何实例化类为对象;如”com.softeem.mvc.core.ActionServlet”,变成对象。已知一个类的某个方法名称(字符串形式),如何调用这个方法;如何将一个对象里所有属性的值拷贝到另外一个对象里面去?2011-05-092对象实例化方式1,直接实例化对象Studentstudent=newStudent();2,根据类名实例化StringclzName=“com.softeem.j2se.Student”;Objecto=Class.forName(clzName).newInstance();Stud
2、ents=(Student)o;2011-05-093Class类Class类的实例表示正在运行的Java应用程序中的类和接口,Class表示一个类的描述。Studentobj=newStudent();Classc1=obj.getClass();Classc2=Student.class;Classc3=Class.forName(“package_name.Student”);System.out.println(c1.getName());System.out.println(c2.getName());System.out.println(c3.getName
3、());2011-05-094Class类的方法Constructor[]getConstructors()返回一个包含某些Constructor对象的数组,这些对象反映此Class对象所表示的类的所有公共构造方法。FieldgetField(Stringname)返回一个Field对象,它反映此Class对象所表示的类或接口的指定公共成员字段。Field[]getFields()
4、Field[]getDeclaredFields()返回一个包含某些Field对象的数组,这些对象反映此Class对象所表示的类或接口的所有可访问公共字段。Method[]getMethod
5、s()返回一个包含某些Method对象的数组,这些对象反映此Class对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共member方法。2011-05-095打印一个类的所有方法,含父类ClassmyClass=Class.forName("com.softeem.jsp.dao.BookDAO");Method[]methods=myClass.getMethods();for(inti=0;i6、11-05-096打印一个类的所有属性ClassmyClass=Class.forName("com.softeem.jsp.dao.BookDTO");Field[]fs=myClass.getDeclaredFields();for(inti=0;i7、onstructors();for(inti=0;i8、sp.dao.BookDTO");Method[]fs=myClass.getMethods();for(inti=0;i=0){Objectret=fs[i].invoke(myClass.newInstance(),null);System.out.println(methodName+":"+ret);}}2011-05-0910Invoke,有参方法调用ClassmyClass
6、11-05-096打印一个类的所有属性ClassmyClass=Class.forName("com.softeem.jsp.dao.BookDTO");Field[]fs=myClass.getDeclaredFields();for(inti=0;i7、onstructors();for(inti=0;i8、sp.dao.BookDTO");Method[]fs=myClass.getMethods();for(inti=0;i=0){Objectret=fs[i].invoke(myClass.newInstance(),null);System.out.println(methodName+":"+ret);}}2011-05-0910Invoke,有参方法调用ClassmyClass
7、onstructors();for(inti=0;i8、sp.dao.BookDTO");Method[]fs=myClass.getMethods();for(inti=0;i=0){Objectret=fs[i].invoke(myClass.newInstance(),null);System.out.println(methodName+":"+ret);}}2011-05-0910Invoke,有参方法调用ClassmyClass
8、sp.dao.BookDTO");Method[]fs=myClass.getMethods();for(inti=0;i=0){Objectret=fs[i].invoke(myClass.newInstance(),null);System.out.println(methodName+":"+ret);}}2011-05-0910Invoke,有参方法调用ClassmyClass
此文档下载收益归作者所有