gpt4 book ai didi

java - Private 就是 Private,那为什么 java 会提供使用反射来访问私有(private)方法的便利呢?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:24:59 26 4
gpt4 key购买 nike

<分区>

使用反射时需要注意哪些潜在问题。我在反射(reflection)中很困惑,为什么java提供这种访问私有(private)数据成员的功能。

私有(private):就像我想的那样,只有声明它的类才能看到它。

那为什么可以访问其他类中的私有(private)事物呢?这个术语(反射)完全溢出了我对 java 中私有(private)(访问说明符)属性的概念。

我访问了很多关于这个主题的链接,但没有给出关于这个主题的完整解释。例如:

package example;

import java.lang.reflect.Method;

class A{
private void privateMethod(){
System.out.println("hello privateMethod()");
}
}
class B{
public static void main(String[] args) throws Exception {
A d = new A();
Method m = A.class.getDeclaredMethod("privateMethod");
m.setAccessible(true);
m.invoke(d);
}
}

那么请深入解释这种方法的场景?我需要其他类中私有(private)方法可访问性的优点和缺点吗?

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