首页 > 常见问答

private是什么意思(private用法和造句)

来源:blog.csdn.net/u010164936/article/details/8792208百思特网2

在一个类中,为了不让外界访问到某些属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属性与方法,但有没有其他方法可以访问呢?答案是有的,这就是java反射带来的便利。利用反射访问类的私有属性及方法如下:

publicclassreflect{privatestringname;privateintage;privatereflect(intage){this.age=age;}privatevoidspeak(stringname){百思特网system.out.println("mynameis"name);}publicreflect(stringname){this.name=name;}}

首先,我们要了解三个反射包中的类:

constructor:代表类的单个构造方法,通过constructor我们可执行一个类的某个构造方法(有参或者无参)来创建对象时。method:代表类中的单个方法,可以用于执行类的某个普通方法,有参或无百思特网参,并可以接收返回值。field:代表类中的单个属性,用于set或get属性accessibleobject:以上三个类的父类,提供了构造方法,普通方法,和属性的访问控制的能力。

使用class类中的方法可以获得该类中的所有constructor对象,method对象,和field对象。但是仍然无法访问私有化的构造方法,普通方法,和私有属性,此时我们可以使用他们继承父类(accessibleobject)中的setaccessible()方法,来设置或取消访问检查,以达到访问私有对象的目的。

publicstaticvoidmain(string[]args)throwsexception{reflectreflect=newreflect("a");method[]methods=reflect.class.getmethods();field[]fields=reflect.class.getdeclaredfields();for(inti=0;i本文地址:http:///post/24214.html

private是什么意思(private用法和造句)

原文标题:private是什么意思(private用法和造句),如若转载,请注明出处:https://www.tzjingsheng.com/wenda/28077.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「豪运号」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。