Java 反射小案例(静态私有成员的获取)-kaki的博客

Java 反射小案例(静态私有成员的获取)-kaki的博客

源类:

package com.icbc.task;

public class Perpson {

    private static String  NAME = "孙悟空";

    public void printName(){
        System.out.println(NAME);
    }
}

测试类:

package com.icbc.mytest;

import com.icbc.task.Perpson;
import org.junit.Test;

import java.lang.reflect.Field;

public class TestReflect {

    @Test
    public void test01()throws  Exception{

        Perpson perpson = new Perpson();

        //获取该类的字节码对象
        Class<? extends Perpson> clazz = perpson.getClass();

        //获取其私有成员
        Field name = clazz.getDeclaredField("NAME");

        //暴力反射
        name.setAccessible(true);

        //重新赋值  参数一:实力  参数二:值
        name.set(perpson, "小鸭鸭");

        perpson.printName();
    }
}

在这里插入图片描述

欢迎点赞收藏以及在码云搜索KakiNakajima

发布了11 篇原创文章 · 获赞 6 · 访问量 195

猜你喜欢

转载自blog.csdn.net/qq_44988088/article/details/105010612