`
txf2004
  • 浏览: 6885630 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java反射-------构造方法的反射应用

 
阅读更多

反射其实就是把 Java中的各种成分映射成相应的Java类 。 表示Java类的Class类显然要提供一系列方法 ,这些方法用来获得Java类中 ,的一些属性 方法 包 构造方法等
这些成分分别对应着Java类 Field Method Constructor Package 等类 。然后我们就可以利用获得的这些代表Java类成分的一些类的对象来实现我们想要的功能 。
编译器在编译的时候 只是进行了语法检查 并没有进行里面的饿操作 ,只看变量的定义不看代码的执行。在运行的时候才进行了相关操作
程序的开发分为编译时 和运行时 反射会议耗费时间,会导致程序性能下降

构造方法的反射应用 :

package me.Test;
import java.lang.reflect.*;//导入反射相关的类
/*下面我们通过构造方法的反射调用创建一个String对象
* 程序分为编译时和运行时 编译时进行语法检查
* 运行时进行程序的操作
* Class类也有Class对象 这个对象就是本身
* 我们可以直接调用Class类newInstance产生一个Class类的实例
* 返回的是不带参数的默认构造方法,这个构造方法可以创建一个默认的实例对象
* 例如String str=(String)Class.forName("java.lang.String").newInstance() ;
*
*/
public class ConstructorReflectTest
{


public static void main(String[] args) throws Exception //抛出异常给JVM
{
Constructor con=String.class.getConstructor(StringBuffer.class) ; //通过String的Class对象返回带StringBuffer参数的构造方法对应的类
String str=(String)con.newInstance(new StringBuffer("abc")) ;//newInstance传递的参数要和构造器参数相对应
System.out.println(str.charAt(0)); //输出第一个字符

String ss=(String)Class.forName("java.lang.String").newInstance() ;//利用默认的构造方法进行构对象 这是Class类的方法
System.out.println(ss.getClass().getName()); //获得的类的名字


}

}

Class cls=Class.class.newInstance() ; //Class的本身的是不可以调用 newInstance 错误的这里注意
System.out.println(cls==Class.class);

分享到:
评论

相关推荐

    Java反射技术的一般应用

    在向学生讲解Class.forName()方法的使用时,有时需要扩展讲解为什么这样书写的原理,于是,扩展讲解Java反射技术可以查看被监视类的方法(构造方法和普通方法)、公有属性的功能,以达到封闭功能的效果。该例子使用...

    Java反射应用实例

    代码主要实现了Java反射应用实例, 包含利用反射方法创建对象(使用默认构造函数和自定义构造函数),访问对应对象的方法(包括带参数的和不带参数的),访问对应对象的域(Field). 从这里可以看到代码的详细解说:...

    Java常用的反射方法

    代码中包含的方法有如下 : 1....4. 反射获取构造方法 4.1有参构造 4.2无参构造 4.3无参构造简便写法 5.反射获取成员方法 5.1无参方法 5.2 有参方法 5.3 获取所有方法(包含Object的方法)

    JAVA反射机制详解视频

    (通过反射获取无参构造方法并使用) (通过反射获取带参构造方法并使用) (通过反射获取私有构造方法并使用) (通过反射获取成员变量并使用) (通过反射获取无参无返回值成员方法并使用) (通过反射获取带参带返回值成员...

    《剑指offer》Java基础-反射篇.pdf

    Java基础 反射篇 反射的思想及作用 反射的基本使用 获取类的 Class 对象 构造类的实例化对象 获取一个类的所有信息 获取类中的变量(Field) 获取类中的方法(Method) 获取类的构造器(Constructor) 获取注解 通过...

    Java基础 反射篇.md

    - 反射的应用场景 - Spring 的 IOC 容器 - 反射 + 抽象工厂模式 - JDBC 加载数据库驱动类 - 反射的优势及缺陷 - 增加程序的灵活性 - 破坏类的封装性 - 性能损耗 - 反射基础篇文末总结 反射是一个非常重要...

    java反射知识点

    2.获取构造方法并调用 3.获取成员方法 4.获取成员变量 5.反射数组 6.通过反射配置文件内容 7.通过反射越过泛型检查 8.其他一些文本笔记 读者需要补充的知识点我来说一下,补充: 1.反射数组应用 2.反射main方法 3....

    Java高级程序设计实战教程第三章-Java反射机制.pptx

    Java高级程序设计 第3章 Java反射机制 3.1 应用场景 3.2 相关知识3.3 实施过程 3.4 拓展知识3.5 拓展训练 3.6 课后小结3.7 课后习题 3.8 上机实训 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第...

    Java-Reflection-Tutorial.pdf

    java 反射实战demo,Java的反射(reflection)机制是指在程序的运行...我理解的Java反射的原理就是获取Class对象然后使用java.lang.reflect里提供的方法操作Class对象,Class与java.lang.reflect构成了java的反射技术。

    Java反射学习和反射的应用场景干货都在这里

    文章目录一、Java反射定义二、Java反射机制实现1、Class对象获取2、获取class对象的摘要信息3、获取class对象的属性、方法、构造函数等三、反射的应用场景1、动态代理2、自定义注解实现日志管理 写在前面:Java反射...

    java中的反射(详解)

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 Java...

    java反射 反编译:.class-->.java

    二,反射机制的作用: 1,反编译:.class-->.java 2,通过反射机制访问java对象的属性,方法,构造方法等; 这样好像更容易理解一些,下边我们具体看怎么实现这些功能。

    java反射调用实例代码

    该资源包含了一个利用反射执行的一些操作,包含了动态执行构造方法,动态运行私有方法,为属性初始化等等,简单易懂。

    java反射机制的ppt

    什么是反射 Class类的介绍 如何用Class类获得类的构造方法、成员属性、成员方法 利用java反射机制动态创建对象 利用java反射机制动态调用成员方法和改变成员变量

    Java反射获取私有构造函数、属性、方法

    绍Java反射获取私有构造函数、属性、方法

    Java反射技术的一般应用(放低分数供大家学习)

    在向学生讲解Class.forName()方法的使用时,有时需要扩展讲解为什么这样书写的原理,于是,扩展讲解Java反射技术可以查看被监视类的方法(构造方法和普通方法)、公有属性的功能,以达到封闭功能的效果。该例子使用...

    java反射简单step

    java反射简单机制,可以参考,写的比较简单,通过Class静态类加载指定的类并得到其属性,构造方法和普通方法等。

    JAVA反射机制详解

    调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。Java 反射机制主要提供 了以下功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的...

    Java反射示例代码.rar

    Java反射的demo案例,适合初学者理解,包含基础的各种反射(构造器、属性、方法等),本资源仅用于学习交流。

    Java反射机制的工作原理详解.docx

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 Java...

Global site tag (gtag.js) - Google Analytics