您好,欢迎光临本网站![请登录][注册会员]  
文件名称: Java反射详解.pdf
  所属分类: Java
  开发工具:
  文件大小: 784kb
  下载次数: 0
  上传时间: 2019-07-02
  提 供 者: aba****
 详细说明:简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息。类名称 Reflect Demo 类名称Ref| ect demo 案例3】通过Cass实例化其他类的对象 通过无参构造实例化对象 ackee Reflect class Persont string getName()I 10 11 12 public 14 void setName(str 16 ng name)i 17 this name name; 20 public 22 int getAge( 24 retu En agei void etAge(int 30 ac)( this 32 ace age 33 34 e○ verrid public 37 string 38 oString() retu 40 ["+this namc 42 s age private 47 String name pRivate int age; class hello t public static void main(string I args)i demo=null; demo-Class f crName("Refl ect.Person") t cat ch (Exception e.printstack Trace() Pers or per=null 七 per (Person)demc reistance (); catch (Instantiate exCeption //ToD○ Auto gererated catch block e.printstack Trace(i catch (IllegalAccc EXCeption // TODO Auto- gererated dLcI K⊥oK e.printstack Trace() setName("Rol 1en"); per. staGe(20)i Syst emout. print lr(per)i 【运行结果】 [Rollen 20] 但是注意下,当我们把 Person中的默认的无参构造函数取消的吋候,比如自己定义只定义个有参数的 构造函数之后,会出现错误: 比如我定义了一个构造函数 public Person(Strin g name,int age)( this agc=agci this name name i 然后继续运行上面的程序,会出现: ava.langInstantiationEXception: Reflect Person at java. lang Class. newInstanceo(class.java: 340) at java. lang Class newInstance(class.java: 308) at Reflect. hello. main(hello.java: 39) Exception in thread main"java. lang. Null PointerException at Reflect. hello. main (hello.java: 4Z) 所以大家以后再编写使用 Class实例化其他类的对象的时候,一定要自己定义无参的构造函数 【案例】通过C|a5s调用其他类中的构造函数(也可以通过这种方式通过C|ass创建其他类的对象) package Reflect 234567891 主 mport va langre flect, Constr actor class Person f public Person()i 111 public Person(Strin g rame)i this fame -name i public Person(int age) 25 this age=agc 27 public Person(strin 30 g name, int 31 acc 32 this age=agei this Camenae i 36 37 public stri getName()( Le七u n name 43 public int getAge( re七1 rn agei 48 d overrid 50 public 52 String tostring() 54 etU 55 Tn II 56 +this name n+this age+ 61 private String name ivate int age class hello p ub⊥1c static void main(String l Clas dcmo=null; try demo=Class f orName("Refl cct Person") tcat ch (Except e.printstack Trace (i Pcrs Cn perl=null; Pers CI per2-=null; Pers cn per3=null Pers per4-n 11 //取 得全部的构造 函数 Cons tructor gctConstruct ors(i try i r1 Dayc⌒n)Ane CI+OI1/1Iu [C. newInsta nce(); perz (Person)cons [1].new Insta nce("Rollen ); per3- (Person)cons [2]. nevInsta nce(20) per4= (Person)cons [3. newInsta nce("Rollen 20); tcat ch(Exception e){ c.printstack Trace() Syst emout.print ir (pcrl)i Syst emout.print In(per2) Syst cm. out. print lr(per3 Syst emout.print lr(per4)i 运行结果】 [null 0] [Rollen 0] [null 20] [Rollen 20] 〔案例】 返回一个类实现的接口: package Reflecti 234567 interface Chinaf public static final String name= en 0123 public static int public void sachima()i 890 void sayHello(str Io name int age)i 22 class person 主 implements 26 Chinaf public Pcrson()I 2233 890 pu⊥c 32 Person(strin g sex)f 34 this 35 sex-seXi 6 37 public string 39 getSex()i 40 retU rn sex public void 45 setSex(Strin g sex)t 47 this 48 S∈x=Sex; doverrid public void sacHima()( Syst emout.print ln("hello china)i doverrid public oid sayHcllo(str lIc name nt age)i vst emout. print lr(name +age) private String sexi class hello( blic static void main (String j args)i Clas demo=null try dcmo = class, f cnAme("Refl ect.Person") tcat ch (Exception ){ e.printstack Trace()i //保 存所有的接口 las ntes [=dem actintcrfac s(); f (int intes length i++){ System.out.p tintin("实现 的接囗 n+intes [],g etName()
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: java反射pdf
 输入关键字,在本站1000多万海量源码库中尽情搜索: