Java反射小实例

news/2024/5/19 5:44:19 标签: java, 反射, class, object
class="baidu_pl">
class="article_content clearfix">
class="markdown_views prism-atom-one-light">

JAVAclass="tags" href="/tags/FanShe.html" title=反射>反射小实例

实体类:

class="prism language-class="tags" href="/tags/JAVA.html" title=java>java">class="token keyword">package dtoclass="token punctuation">;

class="token keyword">import class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.utilclass="token punctuation">.Dateclass="token punctuation">;
class="token keyword">import class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.textclass="token punctuation">.SimpleDateFormatclass="token punctuation">;

class="token keyword">public class="token keyword">class class="token class-name">Student class="token punctuation">{
	class="token keyword">private String name class="token operator">= nullclass="token punctuation">;
	class="token keyword">private class="token keyword">int ageclass="token punctuation">;
	class="token keyword">private String addr class="token operator">= nullclass="token punctuation">;
	class="token keyword">private Double slaryclass="token punctuation">;
	class="token keyword">private Date bronthclass="token punctuation">;
	SimpleDateFormat sdfclass="token operator">=class="token keyword">new class="token class-name">SimpleDateFormatclass="token punctuation">(class="token string">"yyyy-MM-dd HH:mm:ss"class="token punctuation">)class="token punctuation">;
	class="token keyword">public String class="token function">toStringclass="token punctuation">(class="token punctuation">)class="token punctuation">{
		class="token keyword">return class="token string">"姓名: "class="token operator">+nameclass="token operator">+class="token string">"\n年龄: "class="token operator">+ageclass="token operator">+class="token string">"\n地址: "class="token operator">+addrclass="token operator">+class="token string">"\n薪水: "class="token operator">+slaryclass="token operator">+class="token string">"\n出生日期: "class="token operator">+ sdfclass="token punctuation">.class="token function">formatclass="token punctuation">(bronthclass="token punctuation">)class="token punctuation">;
	class="token punctuation">}
	
	class="token keyword">public String class="token function">getNameclass="token punctuation">(class="token punctuation">) class="token punctuation">{
		class="token keyword">return nameclass="token punctuation">;
	class="token punctuation">}

	class="token keyword">public class="token keyword">void class="token function">setNameclass="token punctuation">(String nameclass="token punctuation">) class="token punctuation">{
		class="token keyword">thisclass="token punctuation">.name class="token operator">= nameclass="token punctuation">;
	class="token punctuation">}

	class="token keyword">public class="token keyword">int class="token function">getAgeclass="token punctuation">(class="token punctuation">) class="token punctuation">{
		class="token keyword">return ageclass="token punctuation">;
	class="token punctuation">}

	class="token keyword">public class="token keyword">void class="token function">setAgeclass="token punctuation">(class="token keyword">int ageclass="token punctuation">) class="token punctuation">{
		class="token keyword">thisclass="token punctuation">.age class="token operator">= ageclass="token punctuation">;
	class="token punctuation">}

	class="token keyword">public String class="token function">getAddrclass="token punctuation">(class="token punctuation">) class="token punctuation">{
		class="token keyword">return addrclass="token punctuation">;
	class="token punctuation">}

	class="token keyword">public class="token keyword">void class="token function">setAddrclass="token punctuation">(String addrclass="token punctuation">) class="token punctuation">{
		class="token keyword">thisclass="token punctuation">.addr class="token operator">= addrclass="token punctuation">;
	class="token punctuation">}

	class="token keyword">public Double class="token function">getSlaryclass="token punctuation">(class="token punctuation">) class="token punctuation">{
		class="token keyword">return slaryclass="token punctuation">;
	class="token punctuation">}

	class="token keyword">public class="token keyword">void class="token function">setSlaryclass="token punctuation">(Double slaryclass="token punctuation">) class="token punctuation">{
		class="token keyword">thisclass="token punctuation">.slary class="token operator">= slaryclass="token punctuation">;
	class="token punctuation">}

	class="token keyword">public Date class="token function">getBronthclass="token punctuation">(class="token punctuation">) class="token punctuation">{
		class="token keyword">return bronthclass="token punctuation">;
	class="token punctuation">}

	class="token keyword">public class="token keyword">void class="token function">setBronthclass="token punctuation">(Date bronthclass="token punctuation">) class="token punctuation">{
		class="token keyword">thisclass="token punctuation">.bronth class="token operator">= bronthclass="token punctuation">;
	class="token punctuation">}

class="token punctuation">}

测试类:

class="prism language-class="tags" href="/tags/JAVA.html" title=java>java">class="token keyword">import class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.utilclass="token punctuation">.Dateclass="token punctuation">;
class="token keyword">import class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.textclass="token punctuation">.SimpleDateFormatclass="token punctuation">;
class="token keyword">import class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.reflectclass="token punctuation">.Constructorclass="token punctuation">;
class="token keyword">public class="token keyword">class class="token class-name">test class="token punctuation">{
	class="token keyword">public class="token keyword">static class="token keyword">void class="token function">mainclass="token punctuation">(Stringclass="token punctuation">[class="token punctuation">] argsclass="token punctuation">) class="token keyword">throws Exception class="token punctuation">{
		class="token comment">//获取类的 Class 对象实例
		Classclass="token operator"><class="token operator">?class="token operator">> clz class="token operator">= Classclass="token punctuation">.class="token function">forNameclass="token punctuation">(class="token string">"dto.Student"class="token punctuation">)class="token punctuation">;
		class="token comment">//根据 Class 对象实例获取 Constructor 对象
		Constructorclass="token operator"><class="token operator">?class="token operator">> constructor class="token operator">= clzclass="token punctuation">.class="token function">getConstructorclass="token punctuation">(class="token punctuation">)class="token punctuation">;
		class="token comment">//使用 Constructor 对象的 newInstance 方法获取class="tags" href="/tags/FanShe.html" title=反射>反射类对象
		Object object class="token operator">= constructorclass="token punctuation">.class="token function">newInstanceclass="token punctuation">(class="token punctuation">)class="token punctuation">;
		class="token comment">//获取方法的 Method对象 并且 利用invoke方法调用方法
		clzclass="token punctuation">.class="token function">getMethodclass="token punctuation">(class="token string">"setName"class="token punctuation">, Stringclass="token punctuation">.class="token keyword">classclass="token punctuation">)class="token punctuation">.class="token function">invokeclass="token punctuation">(objectclass="token punctuation">, class="token string">"果酱"class="token punctuation">)class="token punctuation">;
		clzclass="token punctuation">.class="token function">getMethodclass="token punctuation">(class="token string">"setAge"class="token punctuation">, class="token keyword">intclass="token punctuation">.class="token keyword">classclass="token punctuation">)class="token punctuation">.class="token function">invokeclass="token punctuation">(objectclass="token punctuation">, class="token number">23class="token punctuation">)class="token punctuation">;
		clzclass="token punctuation">.class="token function">getMethodclass="token punctuation">(class="token string">"setAddr"class="token punctuation">, Stringclass="token punctuation">.class="token keyword">classclass="token punctuation">)class="token punctuation">.class="token function">invokeclass="token punctuation">(objectclass="token punctuation">, class="token string">"深圳"class="token punctuation">)class="token punctuation">;
		clzclass="token punctuation">.class="token function">getMethodclass="token punctuation">(class="token string">"setSlary"class="token punctuation">, Doubleclass="token punctuation">.class="token keyword">classclass="token punctuation">)class="token punctuation">.class="token function">invokeclass="token punctuation">(objectclass="token punctuation">, class="token number">1000.01class="token punctuation">)class="token punctuation">;
		clzclass="token punctuation">.class="token function">getMethodclass="token punctuation">(class="token string">"setBronth"class="token punctuation">, Dateclass="token punctuation">.class="token keyword">classclass="token punctuation">)class="token punctuation">.class="token function">invokeclass="token punctuation">(objectclass="token punctuation">, class="token keyword">new class="token class-name">SimpleDateFormatclass="token punctuation">(class="token string">"yyyy/MM/dd HH:mm:ss"class="token punctuation">)class="token punctuation">.class="token function">parseclass="token punctuation">(class="token string">"2020/07/12 10:11:12"class="token punctuation">)class="token punctuation">)class="token punctuation">;
		Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(objectclass="token punctuation">.class="token function">toStringclass="token punctuation">(class="token punctuation">)class="token punctuation">)class="token punctuation">;
	class="token punctuation">}
class="token punctuation">}

更多详细内容参考文章:
大白话说Javaclass="tags" href="/tags/FanShe.html" title=反射>反射:入门、使用、原理


http://www.niftyadmin.cn/n/1636089.html

相关文章

【Java】详解Java解析XML的四种方法

XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML。本文将详细介绍用Java解析XML的四种方法。 AD&#xff1a; XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语…

oracle特定字段截取(附省市区划分)

比如有一个a字段格式如下&#xff1a; aaaa-bbbb-cc 要截取最后的cc 1&#xff0c;首先获取最后一次出现的- 的位置 instr(‘aaaa-bbbb-cc’,’-’,-1)&#xff0c;这样就得到了最后一个-的下标 2&#xff0c;从最后一次出现-的位置开始截取字符串 下标加一&#xff0c;然…

PLSQL免密登录配置

新增免密登录 1.点击钥匙右侧的下拉按钮&#xff0c;选择Configure。History size:存储数量&#xff0c;Display size:显示个数。 2.Fixed Users中添加 用户/密码数据库名(网络服务名)。eg:bms1030/bms1030GD_UAT ->配置数据库可通过修改tnsnames.ora文件。 eg:GD_UAT (DES…

Coverage数据构成

一个Coverage数据由两个文件夹组成&#xff1a;一个文件夹用于存储空间几何信息&#xff0c;该文件夹的名称就是这个Coverage数据的名称&#xff08;如下图的hnc&#xff09;&#xff1b;另一个文件夹的名字为info&#xff0c;它存储的为Coverage的属性信息。 Coverage文件命名…

基于POI Excle工具类

基于POI的Excel工具类 /** Excel工具类*/ package com.chinainsurance.application.common;import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.lan…

实体类对象属性复制工具类

实体类对象属性复制 public static void copySimpleObject(Object target, Object source){Map map;Method method;Object value;Object[] objArray;StringBuilder sb;Iterator iter;if ((target ! null) && (source ! null)) {List targetMethodList ObjectUtils.get…

将对象里所有的空值属性设置成null

将一个对象里所有的空值属性设置成null import java.lang.reflect.Field;/*** 将一个对象里所有的空值属性设置成null* param o* return*/public Object changeToNull(Object o) {Class c o.getClass();Class sc c.getSuperclass();if (null ! sc) {recursionNull(sc, o);}t…

Unix系统引导过程(简单步骤)

1.从MBR中读取引导加载程序&#xff08;boot loader&#xff09; 2.初始化内核 3.硬件检测 4.创建内核进程 5.系统管理员干预&#xff08;仅仅在进入单用户模式或者恢复模式的时候&#xff09; 6.执行系统启动脚本转载于:https://www.cnblogs.com/haoxiaoyu/p/3932069.html