java里面怎么访问同一个类里面的private属性,怎样访问不同类的属性,不同类中的private属性
用什么语句来实现访问呢?可以举个例子咯。例如我定义了两个类,里面分别有public的和private的属性,每个类各自实例化了一个。请问怎样实现上述访问呢?Aclassp...
用什么语句来实现访问呢?可以举个例子咯。
例如我定义了两个类,里面分别有public的和private的属性,每个类各自实例化了一个。请问怎样实现上述访问呢?
A class
public A1
private A2
B class
public B1
private B2
例如这样呢 展开
例如我定义了两个类,里面分别有public的和private的属性,每个类各自实例化了一个。请问怎样实现上述访问呢?
A class
public A1
private A2
B class
public B1
private B2
例如这样呢 展开
展开全部
公共属性是可以通过对象来获取到的
但是私有属性 只能在当前类中访问,如果需要在另一个类中强制使用该属性,
可以通过反射来破坏封装,来实现访问 私有属性,
下面是一个简单的 小例子。可以用来帮助你理解!
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;
}
展开全部
同类的用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;
}
}
不同类的用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;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以生成set,get方法进行访问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询