Java-反射简介及例子
定义
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-反射简介及例子相关推荐
- Java 反射 - 指南
作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 该系列文章中所描述介绍的是 Java 6 版本的反射机制. Java 反射的例子 下面是一个 Java 反射的简 ...
- (转)个例子让你了解Java反射机制
个例子让你了解Java反射机制 原文地址:http://blog.csdn.net/ljphhj/article/details/12858767 JAVA反射机制: 通俗地说,反射机制就是可以把 ...
- 非常好的Java反射例子
1.Java反射的概念 反射含义:可以获取正在运行的Java对象. 2.Java反射的功能 1)可以判断运行时对象所属的类 2)可以判断运行时对象所具有的成员变量和方法 3)通过反射甚至可以调用到pr ...
- Java基础反射简介
反射机制问题 1.根据配置文件re.properties指定信息,创建Cat对象并调用方法hi //res.properties classfullpath=com.hspedu.Cat method ...
- JAVA中反射的简单例子
java反射是指程序可以访问,检测和修改它本身状态或行为的一种能力.这里我们要了解类对象这个概念,类对象不是类的对象,而是把一个类整体当做一个对象,利用这个方法我们在后期就可以方便的修改某个类. 这里 ...
- java 反射 orm_Java-反射机制简介
什么是Java反射机制? Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性.对于任何一个对象,我们都能够对它的方法和属性进行调用.我们把这种动态获取对象信息和调用对 ...
- 一个例子让你了解Java反射机制
本文来自:blog.csdn.net/ljphhj JAVA反射机制: 通俗地说,反射机制就是可以把一个类,类的成员(函数,属性),当成一个对象来操作,希望读者能理解,也就是说,类,类的成员,我们在运 ...
- 【译】Java编程动态性,第 2部分: 反射简介
概要: 反射使您的程序代码在运行时能够访问加载到JVM中类的内部信息并和加载的特定类协作,而不是在源代码中.这使反射成为构建灵活性应用的强大工具.但需注意的是 --如果使用不当,反射的代价很高.在Ja ...
- java反射比较两个model6_java反射机制
Java反射机制 简介 Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法 ...
- Java反射机制Reflection
Java反射机制 1 .class文件 2 Class类 3 Class类与反射机制 4 Java反射机制的类库支持及简介 5 反射机制的定义与应用 6 反射机制Demo Java反射机制demo(一 ...
最新文章
- “画中画”效果--谈IFRAME标签的使用
- DataList在无数据记录时显示类似GridView空模板(EmptyDataTemplate)
- 读书笔记《Hadoop开源云计算平台》
- Kubernetes — MACVLAN CNI
- 定时执行程序-Quartz简单实例
- 【讨论】关于什么时候使用module,什么时候使用class
- (转)【SpringMvc】如何使用form发送PUT和DELETE请求
- jboss 配置上下文路径_为单个Web应用程序配置多个上下文根– JBoss
- C++ new和malloc的区别
- 细说 ASP.NET Cache 及其高级用法
- 加载图片时报错,请大虾帮忙看看!
- CentOS 7下sshd防暴力破解及fail2ban的使用方法
- [SCOI2016]背单词
- Flex中Image加载图片出错显示默认图片
- Python设计模式:建造者模式
- antd的timePicker.RangePicker设置结束时间不可早于开始时间
- css 中的度量单位
- java 等额本息计算方式
- 2022-02-13 机器学习基本概念
- 无法解析的外部符号 Direct3DCreate9@4