广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州如何绕过辅助功能检查Java反射字段访问?_北大青鸟IT学校

作者:邓华发布时间:2021-04-21分类:Java技术浏览:716


导读:相信大家在学习Java的过程都会遇到各种各样的问题,例如:如何绕过辅助功能检查Java反射字段访问?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

相信大家在学习Java的过程都会遇到各种各样的问题,例如:如何绕过辅助功能检查Java反射字段访问?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

使用反射访问类的非可访问字段,方法和构造函数从 AccessibleObject 类调用setAccessible(boolean flag)方法。

我们需要使用true参数调用此方法,以使该字段,方法和构造函数可访问。

import java.lang.reflect.Field;


 class MyClass {

   private String name = "Unknown";


   public MyClass() {

   }


   public String toString() {

     return "name=" + this.name;

   }

 }


 public class Main {

   public static void main(String[] args) {

     Class<MyClass> my = MyClass.class;

     try {

       MyClass p = my.newInstance();

       Field nameField = my.getDeclaredField("name");

       nameField.setAccessible(true);

       String nameValue = (String) nameField.get(p);

       System.out.println("Current name is " + nameValue);

       nameField.set(p, "abc");

       nameValue = (String) nameField.get(p);

       System.out.println("New name is " + nameValue);

     } catch (InstantiationException | IllegalAccessException

         | NoSuchFieldException | SecurityException | IllegalArgumentException e) {

       System.out.println(e.getMessage());

     }

   }

 }

上面的代码生成以下结果。

Current name is Unknown

New name is abc

想了解更多关于Java的资讯吗?可以来惠州北大青鸟新方舟校区了解一下。

java2.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表