Java " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

鎬庝箞鐢╦ava鍙嶅皠淇敼鎴愬憳鍙橀噺

扬州沐宇科技
2023-10-09 15:02:51
Java

浣跨敤Java鍙嶅皠鍙互閫氳繃浠ヤ笅姝ラ鏉ヤ慨鏀规垚鍛樺彉閲忥細

  1. 鑾峰彇闇€瑕佷慨鏀圭殑绫荤殑Class瀵硅薄銆?/p>

  2. 浣跨敤Class瀵硅薄鐨?code>getDeclaredField(String name)鏂规硶鑾峰彇闇€瑕佷慨鏀圭殑鎴愬憳鍙橀噺鐨凢ield瀵硅薄銆?/p>

  • 娉ㄦ剰锛氬鏋滈渶瑕佷慨鏀圭殑鎴愬憳鍙橀噺鏄鏈夌殑锛岄渶瑕佷娇鐢?code>getDeclaredField()鏂规硶锛屽鏋滄槸鍏叡鐨勫彲浠ヤ娇鐢?code>getField()鏂规硶銆?/li>
  1. 浣跨敤Field瀵硅薄鐨?code>setAccessible(true)鏂规硶璁剧疆鎴愬憳鍙橀噺鐨勫彲璁块棶鎬э紝浠ヤ究淇敼绉佹湁鎴愬憳鍙橀噺銆?/p>

  2. 浣跨敤Field瀵硅薄鐨?code>set(Object obj, Object value)鏂规硶灏嗘垚鍛樺彉閲忕殑鍊间慨鏀逛负鏂扮殑鍊笺€?/p>

  • 绗竴涓弬鏁版槸鎴愬憳鍙橀噺鎵€灞炲璞$殑寮曠敤锛屽鏋滄垚鍛樺彉閲忔槸闈欐€佺殑锛屽垯鍙互浼犻€抧ull銆?/p>

  • 绗簩涓弬鏁版槸鏂扮殑鍊笺€?/p>

涓嬮潰鏄竴涓ず渚嬩唬鐮侊細

import java.lang.reflect.Field;
public class MyClass {
private String myField = "Hello";
public static void main(String[] args) throws Exception {
MyClass obj = new MyClass();
// 鑾峰彇Class瀵硅薄
Class<?> cls = obj.getClass();
// 鑾峰彇闇€瑕佷慨鏀圭殑鎴愬憳鍙橀噺Field瀵硅薄
Field field = cls.getDeclaredField("myField");
// 璁剧疆鎴愬憳鍙橀噺鐨勫彲璁块棶鎬?/span>
field.setAccessible(true);
// 淇敼鎴愬憳鍙橀噺鐨勫€?/span>
field.set(obj, "World");
// 杈撳嚭淇敼鍚庣殑鎴愬憳鍙橀噺鐨勫€?/span>
System.out.println(obj.myField);
}
}

杩愯浠ヤ笂浠g爜锛岃緭鍑虹粨鏋滀负锛?/p>

World

扫码添加客服微信