第16章 反射

第16章 反射

ID:46373451

大小:467.00 KB

页数:42页

时间:2019-11-23

第16章  反射_第1页
第16章  反射_第2页
第16章  反射_第3页
第16章  反射_第4页
第16章  反射_第5页
资源描述:

《第16章 反射》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第16章反射类别载入与检视使用反射生成与操作对象简介Class与类别载入真正需要使用一个类别时才会加以加载java.lang.Class对象代表了Java应用程序在运行时所加载的类别或接口实例可以透过Object的getClass()方法来取得每一个对象对应的Class对象,或者是透过"class"常量(Classliteral)简介Class与类别载入Stringname="caterpillar";ClassstringClass=name.getClass();System.out.println("类别名称:"+

2、stringClass.getName());System.out.println("是否为接口:"+stringClass.isInterface());System.out.println("是否为基本型态:"+stringClass.isPrimitive());System.out.println("是否为数组对象:"+stringClass.isArray());System.out.println("父类别名称:"+stringClass.getSuperclass().getName());Classstr

3、ingClass=String.class;简介Class与类别载入所谓「真正需要」通常指的是要使用指定的类别生成对象例如使用Class.forName()加载类别,或是使用ClassLoader的loadClass()载入类别publicclassTestClass{static{System.out.println("类别被载入");}}TestClasstest=null;System.out.println("宣告TestClass参考名称");test=newTestClass();System.out.pri

4、ntln("生成TestClass实例");简介Class与类别载入Class的讯息是在编译时期就被加入至.class档案中执行时期JVM在使用某类别时,会先检查对应的Class对象是否已经加载如果没有加载,则会寻找对应的.class档案并载入简介Class与类别载入一个类别在JVM中只会有一个Class实例每个类别的实例都会记得自己是由哪个Class实例所生成可使用getClass()或.class来取得Class实例简介Class与类别载入数组是一个对象,也有其对应的Class实例System.out.println

5、(boolean.class);System.out.println(void.class);int[]iarr=newint[10];System.out.println(iarr.getClass().toString());double[]darr=newdouble[10];System.out.println(darr.getClass().toString());booleanvoidclass[Iclass[D从Class中获取信息Class对象表示所加载的类别,取得Class对象之后,您就可以取得与类别相

6、关联的信息套件的对应型态是java.lang.Package建构方法的对应型态是java.lang.reflect.Constructor方法成员的对应型态是java.lang.reflect.Method数据成员的对应型态是java.lang.reflect.Field从Class中获取信息try{Classc=Class.forName(args[0]);Packagep=c.getPackage();System.out.println(p.getName());}catch(ArrayIndexOutOfBoun

7、dsExceptione){System.out.println("没有指定类别");}catch(ClassNotFoundExceptione){System.out.println("找不到指定类别");}从Class中获取信息Classc=Class.forName(args[0]);//取得套件代表对象Packagep=c.getPackage();System.out.printf("package%s;%n",p.getName());//取得型态修饰,像是class、interfaceintm=c.get

8、Modifiers();System.out.print(Modifier.toString(m)+"");//如果是接口if(Modifier.isInterface(m)){System.out.print("interface");}else{System.out.print("class");}System.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。