来源:blog.csdn.net/u010164936/article/details/8792208百思特网2
文章插图
在一个类中,为了不让外界访问到某些属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属性与方法,但有没有其他方法可以访问呢?答案是有的,这就是java反射带来的便利 。利用反射访问类的私有属性及方法如下:
public class Reflect {private String name;private int age;private Reflect(int age) {this.age = age;}private void speak(String name) {百思特网System.out.println("My name is"name);}public Reflect(String name) {this.name = name;}}
首先,我们要了解三个反射包中的类:- Constructor:代表类的单个构造方法,通过Constructor我们可执行一个类的某个构造方法(有参或者无参)来创建对象时 。
- Method:代表类中的单个方法,可以用于执行类的某个普通方法,有参或无百思特网参,并可以接收返回值 。
- Field:代表类中的单个属性,用于set或get属性
- AccessibleObject:以上三个类的父类,提供了构造方法,普通方法,和属性的访问控制的能力 。
public static void main(String[] args)throws Exception {Reflect reflect = new Reflect("a");Method[] methods = Reflect.class.getMethods();Field[] fields = Reflect.class.getDeclaredFields();for (int i = 0; i
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:
- 女人最讨厌男人的10种行为 恋爱和结婚后讨厌男人这样做
- 教你4个选购的注意事项 电钢琴和钢琴的区别
- 五款粉底液的优点和缺点比较 粉底液哪个好用一些
- 对和谐的理解和含义 和谐是什么意思
- 青光眼和玻璃体混浊哪个严重 青光眼是什么
- 保湿水和精华液先用哪个 保湿水有保质期吗
- 和女朋友全垒打是什么意思 全垒打是什么意思
- 吃螃蟹喝牛奶了怎么办 螃蟹不能和什么一起吃
- 高原上有什么植物和动物
- 黑瞎子岛是中国和哪国的边界