java里面怎么访问同一个类里面的private属性,怎样访问不同类的属性,不同类中的private属性

2025-01-06 17:23:28
推荐回答(3个)
回答1:

公共属性是可以通过对象来获取到的

但是私有属性 只能在当前类中访问,如果需要在另一个类中强制使用该属性,

可以通过反射来破坏封装,来实现访问 私有属性,

下面是一个简单的 小例子。可以用来帮助你理解!

import java.lang.reflect.Field;
public class A {
    public static void main(String[] args)throws Exception {
        //获取类对象
         Class clazz = B.class;
        //根据B类中的属性名c获取属性 
         Field f = clazz.getDeclaredField("c");
        //破换封装(允许在A类中访问B类中的私有属性c) 
         f.setAccessible(true);
        //根据反射创建b2对象
         B b = (B)clazz.newInstance();
         System.out.println("原值"+f.getInt(b));
        //修改私有属性的值为100  
         f.setInt(b, 100); 
         System.out.println("修改后值"+f.getInt(b));
   }
}
class B{
     private int c=10;
     public  int d =11; 
}

回答2:

同类的用this.A2, 或者直接用A2
不同类的用getter和setter

public class A {
private int A2;
public void setA2(int v) {
this.A2 = v; // 或者 A2=v;
}
public int getA2() {
return this.A2; //或者return A2;
}
}

回答3:

可以生成set,get方法进行访问