package com.sxt.field;
/*
* 通过反射拿到属性值
* 修改public属性值
* 修改private属性值
* 缺点:可读性差;代码复杂
* 优点:灵活;可以访问修改private属性值
* 以后多运用setXxx getXxx 修改属性的值
*/
import java.lang.reflect.Field;
import java.lang.reflect.Modifier; public class TestField {
public static void main(String[] args) throws Exception {
//设置私有属性值
Class<?> class1 = Class.forName("com.sxt.entity.Student");
//创建对象
Object obj = class1.newInstance();
Field[] fields = class1.getDeclaredFields();
//遍历所有属性
for(Field f : fields){
System.out.println(f.getName()+"\t"+Modifier.toString(f.getModifiers()));
}
System.out.println("----------------------------------"); //修改public的score的属性值
Field field1 = class1.getDeclaredField("score");
//直接通过方法(基本数据类型)
field1.setDouble(obj, 99.9);
double d = field1.getDouble(obj);
System.out.println(d); System.out.println("----------------------------------"); //拿到private的name的属性值
Field field2 = class1.getDeclaredField("name");
System.out.println(field2.getName() +" "+ Modifier.toString(field2.getModifiers()));
//可以改变私有属性值
field2.setAccessible(true);
field2.set(obj, "小明");
Object object = field2.get(obj);
System.out.println(object);
}
}

通过反射 修改访问和修改属性的值 Day25的更多相关文章

  1. python添加、修改、删除、访问类对象属性的2种方法

    1.直接添加.修改.删除.访问类对象属性 class Employee (object): empCount = 0 def __init__(self, name, salary) : self.n ...

  2. C# 操作 Word 修改word的高级属性中的自定义属性2

    word的类库使用的是word2007版本的类库,类库信息见下面图片,折腾了半天,终于找到入口,网上 很多说的添加或者修改word的高级属性中的自定义属性都是错误的,感觉都是在copy网上的代码,自己 ...

  3. 【WPF】当 ItemsSource 正在使用时操作无效。改用 ItemsControl.ItemsSource 访问和修改元素

    问题: 中文版报错:Additional information: 当 ItemsSource 正在使用时操作无效.改用 ItemsControl.ItemsSource 访问和修改元素. 英文版报错 ...

  4. ZT 获得/修改共享互斥量属性:pthread_mutexattr_t

    bbs.chinaunix.net/thread-965755-1-1.html 5.   获得/修改共享互斥量属性:    #include<pthread.h>    intpthre ...

  5. python基础===修改属性的值

    可以以三种不同的方式修改属性的值:直接通过实例进行修改:通过方法进行设置:通过方法进行递增(增加特定的值).下面依次介绍这些方法. class Car(): def __init__(self, ma ...

  6. 【转】Jquery修改image的src属性,图片不加载问题

    1.当点击某一按钮的时候,把图片域中的图片改变一下    <img id="randimg" src="/servlet/CreateValidateNum&quo ...

  7. DOM学习笔记(三)DOM元素的访问、修改与事件

    访问 HTML 元素等同于访问节点,使用的是document对象下的数个getElement方法,然后再对返回的元素(或元素列表)进行具体内容的访问和修改,或者响应对应的事件是操作 一些 DOM 对象 ...

  8. Python 类中__init__()方法中的形参与如何修改类中属性的值

    一.__init__()方法 如果__init__()方法为 class Cat(): def __init__(self,num) : self.num=num Python中类的__init__( ...

  9. 使用vscode访问和修改远程计算机文件

    使用vscode访问和修改远程文件,分三步实现:在远程linux机器上安装rmate:在本地windows上安装openssh:在vscode中安装扩展remote vscode. 1. 在远程lin ...

随机推荐

  1. 浓缩版 《C和指针》基础篇(Chpt.1~Chpt.9)

    导语 近日,笔者在课业之余阅读了<C和指针(Pointers on C)> (by Kenneth A.Reek)一书,从中记录了关于C语言的诸多知识点,包括在C语言基础特性的学习过程中没 ...

  2. JavaWeb-类加载器-注解-动态代理

    (一)类加载器 1.什么是类加载器,作用是什么? 类加载器就加载字节码文件(.class) 2.类加载器的种类 类加载器有三种,不同类加载器加载不同的 1)BootStrap:引导类加载器:加载都是最 ...

  3. Vertex Covers(高维前缀和)

    Vertex Covers 时间限制: 5 Sec  内存限制: 128 MB提交: 5  解决: 3 题目描述 In graph theory, a vertex cover of a graph ...

  4. Mac系统常用快捷键大全

    苹果Mac系统常用快捷键有很多,但是很多童鞋对于这些mac快捷键都不是很熟悉,今天小编为大家整理了一份Mac系统常用快捷键大全,大家快收藏起来吧!平时在使用mac系统的时候可以提高不少工作效率哦! M ...

  5. 2019.8.7 NOIP模拟测试14 反思总结

    先扔代码 调完自闭网络流了,新一轮考试前看看能不能赶完…… 考得极其爆炸,心态也极其爆炸,真的是认识到自己能力上的不足 思维跑偏,代码能力差 就这样吧,再努力努力,不行就AFO T1旋转子段: 因为我 ...

  6. linux应用系统日志

    在一个典型的LAMP(Linux+Apache+Mysql+Perl)应用环境里: Apache & Nginx; 查找访问和错误日志, 直接找 5xx 错误, 再看看是否有 limit_zo ...

  7. 【模板】tyvjP1520 树的直径 [2017年5月计划 清北学堂51精英班Day3]

    P1520 树的直径 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 树的直径,即这棵树中距离最远的两个结点的距离.每两个相邻的结点的距离为1,即父亲结点与儿 ...

  8. 洛谷P1968 美元汇率[2017年4月计划 动态规划02]

    P1968 美元汇率 题目背景 此处省略maxint+1个数 题目描述 在以后的若干天里戴维将学习美元与德国马克的汇率.编写程序帮助戴维何时应买或卖马克或美元,使他从100美元开始,最后能获得最高可能 ...

  9. Leetcode33.Search in Rotated Sorted Array搜索旋转排序数组

    假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值,如果数组中存在这个目标值, ...

  10. qq在线

    <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=1749904992&site=q ...