定义

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

实例

接下来呢通过一个实际的例子进行反射的解释,更加高级的解释和属性请看:https://www.jianshu.com/p/9be58ee20dee

package test;//工厂类
public class Factory {public static CaluTemplate createOperator(String operate){CaluTemplate calu=null;try{// 通过读取配置文件的工具类,从配置文件中寻找用户输入的运算符,并返回运算符所对应的运算类名称String value=  Read.readPro(operate);// 利用反射实例化对应的运算类calu=(CaluTemplate)Class.forName("test."+value).newInstance();}catch(Exception e){e.printStackTrace();}return  calu;}
}
package test;import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
//工具类-读取配置文件中属性值
public class Read {public static String readPro(String str) {Properties properties = new Properties();InputStream inputStream = Object.class.getResourceAsStream("/application.properties");try {properties.load(inputStream);} catch (IOException e) {e.printStackTrace();}return (String) properties.get(str);}
}

在上两个类中,主要是在工厂类中用到了反射,根据传入参数去配置文件中获取需要实例化的类的名称,用反射将与配置文件中同名的类实例化即可。

forName的括号中值得注意的一点是,需要把包名也写进去,他会找到这么包这边的同名的类,然后newInstance()实例化。这个是反射最基础的应用。

反射相关类包括类中的方法,比如可以用反射获得反射类的全部方法,或者全部属性,详情请参考https://www.jianshu.com/p/9be58ee20dee

应用场景

1.工厂模式:Factory类中用反射的话,添加了一个新的类之后,就不需要再修改工厂类Factory了
2.数据库JDBC中通过Class.forName(Driver).来获得数据库连接驱动

Java-反射简介及例子相关推荐

  1. Java 反射 - 指南

    作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 该系列文章中所描述介绍的是 Java 6 版本的反射机制. Java 反射的例子 下面是一个 Java 反射的简 ...

  2. (转)个例子让你了解Java反射机制

    个例子让你了解Java反射机制 原文地址:http://blog.csdn.net/ljphhj/article/details/12858767 JAVA反射机制:   通俗地说,反射机制就是可以把 ...

  3. 非常好的Java反射例子

    1.Java反射的概念 反射含义:可以获取正在运行的Java对象. 2.Java反射的功能 1)可以判断运行时对象所属的类 2)可以判断运行时对象所具有的成员变量和方法 3)通过反射甚至可以调用到pr ...

  4. Java基础反射简介

    反射机制问题 1.根据配置文件re.properties指定信息,创建Cat对象并调用方法hi //res.properties classfullpath=com.hspedu.Cat method ...

  5. JAVA中反射的简单例子

    java反射是指程序可以访问,检测和修改它本身状态或行为的一种能力.这里我们要了解类对象这个概念,类对象不是类的对象,而是把一个类整体当做一个对象,利用这个方法我们在后期就可以方便的修改某个类. 这里 ...

  6. java 反射 orm_Java-反射机制简介

    什么是Java反射机制? Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性.对于任何一个对象,我们都能够对它的方法和属性进行调用.我们把这种动态获取对象信息和调用对 ...

  7. 一个例子让你了解Java反射机制

    本文来自:blog.csdn.net/ljphhj JAVA反射机制: 通俗地说,反射机制就是可以把一个类,类的成员(函数,属性),当成一个对象来操作,希望读者能理解,也就是说,类,类的成员,我们在运 ...

  8. 【译】Java编程动态性,第 2部分: 反射简介

    概要: 反射使您的程序代码在运行时能够访问加载到JVM中类的内部信息并和加载的特定类协作,而不是在源代码中.这使反射成为构建灵活性应用的强大工具.但需注意的是 --如果使用不当,反射的代价很高.在Ja ...

  9. java反射比较两个model6_java反射机制

    Java反射机制 简介 Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法 ...

  10. Java反射机制Reflection

    Java反射机制 1 .class文件 2 Class类 3 Class类与反射机制 4 Java反射机制的类库支持及简介 5 反射机制的定义与应用 6 反射机制Demo Java反射机制demo(一 ...

最新文章

  1. “画中画”效果--谈IFRAME标签的使用
  2. DataList在无数据记录时显示类似GridView空模板(EmptyDataTemplate)
  3. 读书笔记《Hadoop开源云计算平台》
  4. Kubernetes — MACVLAN CNI
  5. 定时执行程序-Quartz简单实例
  6. 【讨论】关于什么时候使用module,什么时候使用class
  7. (转)【SpringMvc】如何使用form发送PUT和DELETE请求
  8. jboss 配置上下文路径_为单个Web应用程序配置多个上下文根– JBoss
  9. C++ new和malloc的区别
  10. 细说 ASP.NET Cache 及其高级用法
  11. 加载图片时报错,请大虾帮忙看看!
  12. CentOS 7下sshd防暴力破解及fail2ban的使用方法
  13. [SCOI2016]背单词
  14. Flex中Image加载图片出错显示默认图片
  15. Python设计模式:建造者模式
  16. antd的timePicker.RangePicker设置结束时间不可早于开始时间
  17. css 中的度量单位
  18. java 等额本息计算方式
  19. 2022-02-13 机器学习基本概念
  20. 无法解析的外部符号 Direct3DCreate9@4

热门文章

  1. phpStudy在linux下的使用说明
  2. Windows 64位驱动 关闭内存保护
  3. 关于inline函数
  4. error: Upgrade DB using Essex release first.
  5. DevicePass-through及网卡的直接分配在Xen里面的实现
  6. read_copy update
  7. int p 与int p 的不同
  8. DirectFB编译环境
  9. hugo采用gitalk添加留言功能
  10. java 类之间数据传递_java类之间数据传递问题