package com.imooc.reflect;
import com.imooc.reflect.entity.Employee;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* 获取对象所有成员变量值
*/
public class getDeclaredSample {
public static void main(String[] args) {
try {
Class employeeClass = Class.forName("com.imooc.reflect.entity.Employee");
Constructor constructor = employeeClass.getConstructor(new Class[]{
Integer.class, String.class, Float.class, String.class
});
Employee employee = (Employee) constructor.newInstance(new Object[]{
100, "李磊", 3000f, "研发部"
});
//获取当前类所有成员变量
Field[] fields = employeeClass.getDeclaredFields();
for(Field field : fields){
// System.out.println(field.getName());
if(field.getModifiers() == 1){ //pubilc修饰
Object val = field.get(employee);
System.out.println(field.getName() + ":" + val);
}else if(field.getModifiers() == 2){ //private修饰
String methodName = "get" + field.getName().substring(0,1).toUpperCase()
+ field.getName().substring(1);
Method getMethod = employeeClass.getMethod(methodName);
Object ret = getMethod.invoke(employee);
System.out.println(field.getName() + ":" + ret);
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
9.3 Java反射reflect
共48个文件
class:15个
java:15个
xml:13个
0 下载量 154 浏览量
2024-04-10
08:35:26
上传
评论
收藏 36KB RAR 举报
温馨提示
9.3 Java反射reflect
资源推荐
资源详情
资源评论
收起资源包目录
反射测试案例.rar (48个子文件)
第2章 讲解反射四个核心类
reflect
reflect.iml 433B
src
com
imooc
reflect
FieldSample.java 2KB
ClassSample.java 1KB
ConstructorSample.java 1KB
getDeclaredSample.java 2KB
MethodSample.java 1KB
entity
Employee.java 2KB
out
production
reflect
com
imooc
reflect
ConstructorSample.class 2KB
FieldSample.class 3KB
ClassSample.class 1KB
MethodSample.class 2KB
entity
Employee.class 2KB
getDeclaredSample.class 3KB
.idea
workspace.xml 16KB
misc.xml 278B
modules.xml 261B
encodings.xml 138B
第1章 反射入门
math
src
com
imooc
reflect
Multiplication.java 176B
Addition.java 243B
ReflectSample.java 2KB
MathOperation.java 142B
Subtraction.java 251B
out
production
math
com
imooc
reflect
ReflectSample.class 2KB
Addition.class 602B
MathOperation.class 151B
Multiplication.class 453B
Subtraction.class 611B
.idea
uiDesigner.xml 9KB
workspace.xml 18KB
misc.xml 278B
modules.xml 255B
encodings.xml 138B
math.iml 433B
第3章 反射技术在项目中的应用
i18n
src
config.properties 26B
com
imooc
i18n
Application.java 871B
En.java 177B
I18N.java 81B
Zhcn.java 160B
out
production
i18n
config.properties 26B
com
imooc
i18n
Application.class 2KB
I18N.class 141B
Zhcn.class 412B
En.class 425B
.idea
workspace.xml 15KB
misc.xml 278B
modules.xml 255B
encodings.xml 138B
i18n.iml 433B
共 48 条
- 1
资源评论
与海boy
- 粉丝: 316
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功