java有A,B两个类,A类中有一个变量x,这个变量值在A类中改变了值,如何在B类中取得这

个改变了的值... 个改变了的值 展开
 我来答
景轩love
2013-05-03 · 超过23用户采纳过TA的回答
知道答主
回答量:142
采纳率:100%
帮助的人:51.1万
展开全部
看了下面楼主的提问,我明白楼主什么意思了:
可以通过static关键字修饰成员变量,static表示的意思是该成员变量为类所拥有,并不是某一具体对象所拥有,通过该类实例化的所有对象共享static修饰的成员变量,static修饰的成员变量在内存中占有一块固定的内存,所以,你可以在A中修改staitc修饰的成员变量,在B中可以看到修改的结果。如果成员变量不定义为static,那么每当你new一次,相当于给该成员变量分配一次内存,所以你在A中修改的值,在B中是无法看到修改效果的,因为你在B中也重新new了一次对象,该成员变量和A中修改的成员变量在内存中指向的并不是同一个块区域,他们分别是自己所拥有的成员变量。自然也就出现你问的问题了。
banyan_virus
2013-05-02 · TA获得超过358个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:53.6万
展开全部
1. 在A类中声明这个变量x是static静态变量,可以直接在B中取到(A.x)。
2. 在B类中,声明一个A类型的属性(B.A),并把A的一个实例赋值给B的这个属性。改变A实例的值(a.x = 10),可以在B中取到(b.a.x)
更多追问追答
追问
我是用你第一种方法做的  但是取到没变前的值
第二种看不懂
追答
把你代码给出来,第一种方法可以取到值的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
main_inf
2013-05-02 · TA获得超过1575个赞
知道小有建树答主
回答量:811
采纳率:100%
帮助的人:534万
展开全部
如果你确定 类变量, 也就是static的,只要B类可以访问A类,就可以直接取到这个变量

比如 class A{
public static int a = 0;

}

class B {
//在这里面的任意地方均可以通过 A.a来访问这个值 , 而不管a这个值 是如何改变的

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
独家解说
2013-05-02 · TA获得超过130个赞
知道答主
回答量:204
采纳率:0%
帮助的人:66.6万
展开全部
在B类的方法中写:
A a = new A();
System.out.print("这就是调用取值的问题,变化后的值:"+a.x);
如果觉得我理解错误,请再详细描述一下
更多追问追答
追问
说清楚这个x是怎么定义的,用static   还是public  我是用static 但是取出来的值是没变化之前的值
追答
static定义的值是不可改变的,如果你吧static去掉那么你取的值就会变化啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
今晚我要火
2013-05-02 · TA获得超过408个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:166万
展开全部
N多种方法,b持有a的实例是一种,还有就是静态变量,还可以在a中将值与b对象进行捆绑,也就是将b对象实例传入到a中,然后进行设置,反射也行,静态加载还行,你自己考虑一下吧。
追问
具体说一种哇  这样看不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式