Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您可以访问Java中的私有变量,而无需从';这不是一个内在的阶级_Java_Private - Fatal编程技术网

您可以访问Java中的私有变量,而无需从';这不是一个内在的阶级

您可以访问Java中的私有变量,而无需从';这不是一个内在的阶级,java,private,Java,Private,我对serialVersionUID的用途有了一个线索,而就我所知,我可以查找它。但是它可以是一个私有变量,在类中不使用。这背后是否有某种结构?是否有其他未在同一类中使用的私有变量/方法的示例?我可以访问Java中的私有变量,而不必像序列化那样从非内部类的类中获取getter吗?您可以访问这些值,并通过。 通过这种机制,您可以检查字段和调用方法。您可以访问这些值,并通过。 通过这种机制,您可以检查字段并调用方法。Java虚拟机正在读取此字段,它可以对您的程序执行任何操作,包括读取私有字段。请注意

我对serialVersionUID的用途有了一个线索,而就我所知,我可以查找它。但是它可以是一个私有变量,在类中不使用。这背后是否有某种结构?是否有其他未在同一类中使用的私有变量/方法的示例?我可以访问Java中的私有变量,而不必像序列化那样从非内部类的类中获取getter吗?

您可以访问这些值,并通过。
通过这种机制,您可以检查字段和调用方法。

您可以访问这些值,并通过。
通过这种机制,您可以检查字段并调用方法。

Java虚拟机正在读取此字段,它可以对您的程序执行任何操作,包括读取私有字段。请注意与序列化相关的方法,如
writeObject
,但这对JVM来说也不是问题


您还可以通过反射或java.lang.invoke API访问私有字段/方法(但是
SecurityManager
可能会阻止您这样做)。在OracleJDK/OpenJDK中,还有一个非文档化的
sun.misc.Unsafe
API,它允许您执行许多不安全的操作,包括从对象读取原始数据。

Java虚拟机正在读取此字段,它可以对您的程序执行任何操作,包括读取私有字段。请注意与序列化相关的方法,如
writeObject
,但这对JVM来说也不是问题


您还可以通过反射或java.lang.invoke API访问私有字段/方法(但是
SecurityManager
可能会阻止您这样做)。在Oracle JDK/Open JDK中,还有一个没有文档记录的
sun.misc.Unsafe
API,它允许您执行许多不安全的操作,包括甚至从对象读取原始数据。

使用
java.lang.reflect.Member.setAccessible(true)
将在运行时覆盖任何隐私(这并不多——JVM会很高兴地访问给定名称的私有字段或方法,请参阅。

使用
java.lang.reflect.Member.setAccessible(true)
将在运行时覆盖任何隐私(没有太多–JVM将很高兴访问给定名称的私有字段或方法,请参阅。

您可以使用downvoter请澄清。不,请关闭。这就是我要找的。您可以使用downvoter请澄清。不,请关闭。这就是我要找的。