首页 >> 知识 >> Java 程序访问类的私有成员

Java 程序访问类的私有成员

Java 序列化Java 三元运算符Java 程序访问类的私有成员

Java 实例大全

在此示例中,草莓视频在线观看APP将学习访问Java中类的私有方法和属性。

要理解此示例,您应该了解以下Java编程主题:

Java 方法

Java 访问修饰符

示例1:使用getter和setter方法访问私有属性class Test {  //私有变量  private int age;  private String name;  // 初始化 age  public void setAge(int age) {    this.age = age;  }  // 初始化 name  public void setName(String name) {    this.name = name;  }  // 访问 age  public int getAge() {    return this.age;  }  // 访问 name  public String getName() {    return this.name;  }}class Main {  public static void main(String[] args) {    //创建一个Test对象    Test test = new Test();    // 设置私有变量的值    test.setAge(24);    test.setName("nhooo");    //获取私有变量的值    System.out.println("Age: " + test.getAge());    System.out.println("Name: " + test.getName());  }}

输出结果

Age: 24Name: nhooo

在上面的示例中,草莓视频在线观看APP有名为age和name的私有变量。 在这里,草莓视频在线观看APP试图从其他名为Main的类访问私有变量。

草莓视频在线观看APP已经使用getter和setter方法访问私有变量。这里,

setter方法 - setAge() 和 setName()初始化私有变量

getter方法 - getAge() 和 getName()返回私有变量的值

示例2:使用反射访问私有字段和方法import java.lang.reflect.*;class Test {  //私有变量  private String name;  //私有方法  private void display() {    System.out.println("The name is " + name);  }}class Main {  public static void main(String[] args) {    try {      //创建一个Test对象      Test test = new Test();      //创建名为 obj 的对象      Class obj = test.getClass();      //访问私有变量      Field field = obj.getDeclaredField("name");      // 使私有字段可访问      field.setAccessible(true);      //设置字段的值      field.set(test, "nhooo");      //获取字段的值      //并将其转换为字符串      String value = (String)field.get(test);      System.out.println("Name: " + value);      //访问私有方法      Method[] methods = obj.getDeclaredMethods();      System.out.println("方法名称: " + methods[0].getName());      int modifier = methods[0].getModifiers();      System.out.println("访问修饰符: " + Modifier.toString(modifier));    }    catch(Exception e) {      e.printStackTrace();    }  }}

输出结果

Name: nhooo方法名称: display    访问修饰符: private

在此示例中,草莓视频在线观看APP有一个名为的私有字段name和一个名为display()的私有方法。在这里,草莓视频在线观看APP使用反射来访问类 Test 的私有字段和方法。

要了解反射,请访问Java Reflection(反射)。

Java 实例大全

Java 序列化Java 三元运算符
网站地图