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

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

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

文章插图
在一个类中,为了不让外界访问到某些属性和方法,通常将其设置为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:以上三个类的父类,提供了构造方法,普通方法,和属性的访问控制的能力 。
使用Class类中的方法可以获得该类中的所有Constructor对象,Method对象,和Field对象 。但是仍然无法访问私有化的构造方法,普通方法,和私有属性,此时我们可以使用他们继承父类(AccessibleObject)中的setAccessible()方法,来设置或取消访问检查,以达到访问私有对象的目的 。
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小编还为您精选了以下内容,希望对您有所帮助: