java 反射调用方法 既然Java反射可以访问和修改私有成员变量,那封装成private还有意义么?

既然Java反射可以访问和修改私有成员变量,那封装成private还有意义么?我很高兴回答你的问题。一般来说,隐私只是一种协议。java里一个私有的属性如何在其他类里面进行访问?由于它是私人财产,因此

既然Java反射可以访问和修改私有成员变量,那封装成private还有意义么?

我很高兴回答你的问题。

一般来说,隐私只是一种协议。

java里一个私有的属性如何在其他类里面进行访问?

由于它是私人财产,因此不建议直接访问它。通常,提供了访问私有属性的方法。这样,可以在方法中控制对属性的访问。

当然,也可以通过反射直接访问。

记住通过反射将私有属性添加到类中aField.setAccessible可访问(true)此代码,否则无法访问私有属性。

不aField.setAccessible可访问(正确)

添加aField.setAccessible可访问(正确)