首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

访问修饰符也会影响反射吗?

是的,访问修饰符会影响反射。在 Java 中,访问修饰符主要有以下三个级别:

  1. private:表示私有成员,在类内部,只允许该类内部访问。在继承该类的子类中无法访问,使用反射也不能获取到该私有成员。
  2. protected:表示受保护成员,在同一个包中(例如,同一个类、同一个接口、同一个类中不同的方法等)的类或者其它子类可以访问。使用反射也可以访问受保护成员。
  3. public:表示公共成员,可以被所有类访问。使用反射也可以获取到该公共成员。

如果某个属性被声明为公共的,但是子类中声明了该属性为私有,此时在父类中尝试使用反射获取该属性,会导致 java.lang.TargetException异常。这是因为父类试图使用子类中私有属性的时候,需要通过访问修饰符(如 access modifier)来判断属性是否被访问或者实现。如果被声明为 private 级别的属性,则会在访问时抛出异常。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券