java--反射

原创 2015年07月09日 14:18:17
反射(理解)

      (1)反射:在程序运行时期,是通过class文件对象,去使用构造方法,成员变量,成员方法。

      (2)获取class文件对象

           1:Object类的getClass()方法

           2:数据类型的静态的class属性

           3:ClassforName()静态方法
        推荐:开发使用第三种。 

    (3)反射的应用

           1:通过反射获取构造方法并使用

                 //获取字节码文件对象

                 Classc = Class.forName("cn.itcast.Person");

                 //获取构造器对象

                 Constructorcon = c.getDeclearedConstrator(String.class,int.class);

                 //通过构造器对象获取Person对象

                 Objectobj = con.newInstance("刘意",29);

           2:通过反射获取成员变量并使用

                 //获取字节码文件对象

                 Classc = Class.forName("cn.itcast.Person");   

                 //获取构造器对象

                 Constructorcon = c.getDeclearedConstrator(String.class,int.class);

                 //通过构造器对象获取Person对象

                 Objectobj = con.newInstance("刘意",29);

                 //获取成员变量

                 Fieldfield = c.getDeclaredField("name");

                 field.setAccessiable(true);

                 field.set(obj,"刘大意");

           3:通过反射获取成员方法并使用

                 //获取字节码文件对象

                 Classc = Class.forName("cn.itcast.Person");

                 //获取构造器对象

                 Constructorcon = c.getDeclearedConstrator(String.class,int.class);

                 //通过构造器对象获取Person对象

                 Objectobj = con.newInstance("刘意",29);

                 //获取所有公共方法对象,包括从父类继承的

                 //(获取本类所有方法的时候,不包括从父类继承的)

                 Method[]methods = c.getDeclaredMethods();

                 for(Methodm : methods){

                      m.setAccessiable(true);

                      m.invoke(obj,null);
                   
  }

Java--反射

1、类的加载概述和加载时机 (1)类的加载概述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 加载  就是指将class文件读入内存,...
  • MinggeQingchun
  • MinggeQingchun
  • 2017年03月16日 13:39
  • 173

java--反射

1,字节码。2,Constructor类。3,Field类。4,Method类。5,数组的反射。6,反射的作用。  反射 是 做框架 的。 一个类有多个组成部分,例如:成员变量,方法,构造...
  • ccc20134
  • ccc20134
  • 2014年04月04日 19:40
  • 293

JAVA--反射

什么是什么是反射?     Reflection 是Java被视为动态(或准动态)语言的一个关键性质。反射就是把 JVM 通过符号引用动态解析 java 类的字节码的能力映射成为各种 Java 类的...
  • oyanghaizhi
  • oyanghaizhi
  • 2014年03月16日 17:19
  • 247

深入java--类型信息(反射)

本节讨论的是Java如何让我们知道如何在运行时知道对象和类的信息。只要方式有两种,一种是传统的RTTI(在运行时,识别一个对象的类型信息),它假定我们在编译时已经知道了所有的类型,另一种是反射机制,它...
  • u012411414
  • u012411414
  • 2014年12月08日 13:29
  • 403

Java--反射学习

Java--反射学习 反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员。简单说:反射技术可以对一个...
  • u013735544
  • u013735544
  • 2015年01月12日 13:48
  • 340

黑马程序员--Java--正则和反射

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 正则 1.1 正则(regex)概述 正则就是运用相应的规则匹配整个字符串,他是运用一些特定的...
  • wangchuanjin_
  • wangchuanjin_
  • 2015年07月29日 13:28
  • 171

Java--通过Java反射调用方法

传送么:http://lavasoft.blog.51cto.com/62575/61002/ 这是个测试用的例子,通过反射调用对象的方法。     TestRef.java imp...
  • qq_17007915
  • qq_17007915
  • 2016年01月21日 09:21
  • 110

黑马程序员--java--反射和正则表达式

------- android培训、java培训、期待与您交流! ----------                        正则表达式 正则表达式:使用单个字符串来描述、匹配一系列符...
  • seven_tiger
  • seven_tiger
  • 2015年04月01日 12:15
  • 259

Java--反射(五)从反射看泛型集合的本质

泛型的本质是为了在编译前防止错误参数的输入,在运行过程中无效
  • jj736699256
  • jj736699256
  • 2017年10月20日 20:58
  • 72

Java--用简单工厂来改进抽象工厂(反射)

接上一篇抽象工厂,改进方案去除IFactory、SqlServerFactory和AccessFactory三个工厂类取而代之的是DataAccess类,用一个简单工厂模式来实现。 1、DataAcc...
  • u013063810
  • u013063810
  • 2013年12月17日 15:34
  • 672
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java--反射
举报原因:
原因补充:

(最多只允许输入30个字)