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

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

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

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

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

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

相关·内容

【计算机本科补全计划】Java学习笔记(四) 修饰符

正文之前 今天总算是把那个党员谈话给弄完了,三个学弟轮番跟我来聊天,讲自己的入党动机啥的,看到他们就仿佛看到了大一的自己,原来当时面对学长,面对这类事情,会紧张,会局促,被学长安慰了但是还是绷着的样子。哇咔咔,一晃眼啊,号称是人生中最令人迷醉的那段时间就快没了,研究生的时候可能就没这么写意的事情了。感伤~ 不如看Java,对了,我要推荐国漫--《一人之下》,很好看,很有趣,各路方言看着满满的土气,但这才是国漫吗。。虽然有的地方有点少儿不宜,但是真的很好看啊,简直把我想象中的小说结合现代漫画风格搬上了B栈,太

09

C#反射

Reflection,中文翻译为反射。         这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型 (class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如:         Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。 Type类可以获得对象的类型信息,此信息包含对象的所有要素:方法、构造器、属性等等,通过Type类可以得到这些要素的信息,并且调用之。 MethodInfo包含方法的信息,通过这个类可以得到方法的名称、参数、返回值等,并且可以调用之。 诸如此类,还有FieldInfo、EventInfo等等,这些类都包含在System.Reflection命名空间下。

02
领券