为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

java反射机制

2017-09-26 5页 doc 18KB 14阅读

用户头像

is_624976

暂无简介

举报
java反射机制java反射机制 JAVA反射机制介简简 Java反射机制是在运行状中,于任意一个,都能知道简简简简简简简简简简简简简简简简简个的所有属性和方法,于任意一个象,都能简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简用它的任意一个方法,取的信息以及用象的方法的功能称Java简言的反射机制。 Java 反射机制主要提供了以下功能: * 在运行判断任意一个象所属的。简简简简简简简简简简简简简简 * 在运行构造任意一个的象。简简简简简简简简简简简简 * 在运行判断任意一个所具有的成量和方...
java反射机制
java反射机制 JAVA反射机制介简简 Java反射机制是在运行状中,于任意一个,都能知道简简简简简简简简简简简简简简简简简个的所有属性和,于任意一个象,都能简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简简用它的任意一个方法,取的信息以及用象的方法的功能称Java简言的反射机制。 Java 反射机制主要提供了以下功能: * 在运行判断任意一个象所属的。简简简简简简简简简简简简简简 * 在运行构造任意一个的象。简简简简简简简简简简简简 * 在运行判断任意一个所具有的成量和方法。简简简简简简简简简简简简简简简简简简简简* 在运行用任意一个象的方法。简简简简简简简简简简简简简 反射是Java被,或准,言的一个性。简简简简简简简简简简简简简简简简简简简简3、入代简简简简 我一,概念大致了解就行,是会用:竟我简简简简简简简简简简简简简简简简简简简简简简简是工程,的好听点,不能自己埋汰自己,:简简简简简简简简简简简简简简简简简简简简简简来,看下面的代吧,得写代一定要加上注啊,才是,:简简简简简简简简简简简简简简简简简简简简简简简简package com.majun.ref; public class Test extends SuperTest implements Interface1, Interface2 { public String name; public Test(){ } public Test(String s1, String s2){} public void print(String msg){} public int add(int a, int b){ return a + b; } } Test只是个了演示而写的一个准,有接口,有简简简简简简简简简简简简简简简简简简简简超承,有属性,上面代接口和父都没定简简简简简简简简简简简简简简简简简简简简简 的,,有方法:里代没有完全出,也不需要介简简简简简简简简简简简简简简简简简简简了:,下面个才是真正演示反射的:简简简简简简简简简简简简简 package com.majun.ref; import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.Type;public class ReflectTest { public static void main(String[] args) throws Exception { Class classType = Class.forName("com.cn.Reflect.Test"); // 简取属性(getFields只能取简简public简型的属性,getDeclaredFields可以取所有属性,简简简简简简简 // (下同,注意Declared修简简) Field[] fs = classType.getFields();// .getDeclaredFields();? for (Field f : fs) { System.out.println(f.getName()+"--"); } // 简取指定的属性 Field f = classType.getDeclaredField("name");// .getField("name"); System.out.println(f.toString()+"++"); // 简取构造函数 Constructor[] cs = classType.getDeclaredConstructors();// .getConstructors(); for (Constructor c : cs) { System.out.println(c.toString()); } // 简简简简简简简简取指定参数型的构造函数 Constructor c = classType.getConstructor(java.lang.String.class, java.lang.String.class);// .getDeclaredConstructor(java.lang.String.class); System.out.println(c.toString()); // 简简简简简简取直接的接口 Type[] ts = classType.getGenericInterfaces(); for (Type t : ts) { System.out.println(t.toString()); } // 简简简简简简取直接承的超 Type t = classType.getGenericSuperclass(); System.out.println(t.toString()); // 简取方法 Method[] ms = classType.getDeclaredMethods();// .getMethods(); for (Method m : ms) { System.out.println(m.toString()); } // 简取指定的方法 Method m = classType.getMethod("print", new Class[] { String.class }); System.out.println(m.toString()); // 方法用简简 Object invoker = classType.newInstance(); Method md = classType.getMethod("add", new Class[] { int.class, int.class }); Object obj = md.invoke(invoker, new Object[] { new Integer(19), new Integer(65) }); //System.out.println((Integer) obj); //简取指定的方法 Object invoker2 = classType.newInstance(); Method md2 = classType.getMethod("printTwo", new Class[]{ String.class }); Object obj2 = md2.invoke(invoker2, new Object[] {new String("简简简参数的方法")}); System.out.println((String)obj2); } }4、通上面的学,我简简简简简简简简简简简简Java放射机制有了一个大致的了解了,于其他简简简简一些常用的用,比如运行制象、运行改属性内简简简简简简简简简简简简简简简简简简简简简 容、建数等,里不再演示:简简简简简简简简简简简简简简简 5、冰山一角 当然,Java反射不会,后面的内容海着呢,里只简简简简简简简简简简简简简简简简简简能算是冰山一角,更大的奥妙等着你去学:简简
/
本文档为【java反射机制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索