java 中反射简单使用示例
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章将为大家详细讲解有关java 中反射简单使用示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。package reflect_test;public cla
千家信息网最后更新 2025年01月16日java 中反射简单使用示例
这篇文章将为大家详细讲解有关java 中反射简单使用示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
package reflect_test;public class Dog implements Animals { private int age =100; private String xstr="test..."; public int page = 100000;private Dog(String xstr) { this.xstr = xstr; } public Dog() { } public Dog(int age) { this.age = age; }@Overridepublic String scrime(String str) {return str;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}private int getAddAge() {return age+=10;}public void getXstr() {System.out.println(xstr);}}----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------测试类:package reflect_test;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import org.junit.Before;import org.junit.Test;public class TestDemo {Class> clazz= null;Class> interfa = null;Object obj = null;@Beforepublic void init() throws ClassNotFoundException, InstantiationException, IllegalAccessException {clazz = Class.forName("reflect_test.Dog");interfa = Class.forName("reflect_test.Animals");obj = clazz.newInstance(); }//调用非私有成员函数@Testpublic void MethodTest() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {Method m = clazz.getMethod("scrime", String.class);Object object = m.invoke(obj, "say.....");System.out.println(object);}//调用私有成员函数@Testpublic void privateMethodTest() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {Method m = clazz.getDeclaredMethod("getAddAge");m.setAccessible(true);Object object = m.invoke(obj);System.out.println(object);}//获取非私有构造函数@Testpublic void getNotPrivateConstructor() throws Exception {Constructor> construct = clazz.getConstructor(int.class);Dog dog = (Dog)construct.newInstance(10);System.out.println("The age is : "+dog.getAge());}//获取私有构造函数@Testpublic void getPrivateConstructor() throws Exception {//该出方法与非私有构造器区别getDeclaredConstructorConstructor> construct = clazz.getDeclaredConstructor(String.class);//获得权限construct.setAccessible(true);Dog dog = (Dog)construct.newInstance("1000");dog.getXstr();}//获取非私有变量@Testpublic void getField() throws Exception {Field f = clazz.getDeclaredField("age");f.setAccessible(true);Object value = f.get(obj);System.out.println(value);}//获取私有变量@Testpublic void getPirvateField() throws Exception {Field f = clazz.getField("page");Object value = f.get(obj);System.out.println(value);}}
关于"java 中反射简单使用示例"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
私有
函数
篇文章
示例
反射
变量
成员
更多
不错
实用
内容
文章
方法
权限
知识
构造器
参考
帮助
有关
测试
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
c语言中如何写检测服务器ip
kingbase数据库优缺点
腾讯云数据库对比
物理服务器运维内容
华为云数据库订单
kali网络安全实验
数据库置疑 用友
网络安全产品入门
外国对网络安全的制度
网络安全重在预防
国有经济投资数据库
性导航软件开发
魔兽世界服务器人最多
数据库2008删除命令
武汉群硕软件开发有限公司
建立基本的数据库
数据库候选码几个
29岁0基础学软件开发
系统的网络安全防护措施
p2p客户端服务器
健康服务器
零基础学习软件开发免费完整版
陕西万汇网络技术有限公司好吗
天融信数据库安全审计系统
硬件软件开发公司聚顶科技
云服务器程序安装
软件开发的哪个阶段比较重要
计算机网络技术实践教程
前端数据库备份模板
网络安全方面项目经理