使用反射
使用反射可以访问和操作对象的非公共成员数据。示例代码如下:
public class MyClass { private int myPrivateField; protected int myProtectedField; int myPackageField; public int myPublicField; }
public class Main { public static void main(String[] args) throws Exception { MyClass obj = new MyClass();
// 获取私有字段并设置值
Field privateField = MyClass.class.getDeclaredField("myPrivateField");
privateField.setAccessible(true);
privateField.setInt(obj, 123);
// 遍历受保护字段并输出值
Field protectedField = MyClass.class.getDeclaredField("myProtectedField");
protectedField.setAccessible(true);
int protectedValue = protectedField.getInt(obj);
System.out.println("Protected field value: " + protectedValue);
// 遍历默认访问级别字段并输出值
Field packageField = MyClass.class.getDeclaredField("myPackageField");
packageField.setAccessible(true);
int packageValue = packageField.getInt(obj);
System.out.println("Package field value: " + packageValue);
}
}
上一篇:遍历非二叉树的后序遍历
下一篇:遍历非活动工作表