gpt4 book ai didi

java - 使用 java 反射从包外部访问非公共(public)类的成员

转载 作者:行者123 更新时间:2023-11-30 03:57:44 25 4
gpt4 key购买 nike

package1中有一个非公共(public)类A。我想从package2中的另一个类B访问该类的成员。我已经使用构造函数创建了 A 类的实例。我将如何访问 A 类中的字段和方法?

package package1;
class A {
Integer i;
}

package package2;
class B {
public void accessClassA() {

Class aClass = Class.forName("package1.A");
Constructor<?> con = aClass.getDeclaredConstructor();
con.setAccessible(true);
//code to access fields of class A

}
}

最佳答案

Class aClass = Class.forName("package1.A");
Constructor<?> con = aClass.getDeclaredConstructor();
con.setAccessible(true);
Object instance = con.newInstance();
Field intField = aClass.getDeclaredField("i");
intField.setAccessible(true);
Integer i = (Integer)intField.get(instance);

关于java - 使用 java 反射从包外部访问非公共(public)类的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22713992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com