当前位置:编程学习 > JAVA >>

【A对象创造B对象,然后A退出,B还能留存?】

我是在看到swing编程中发现的一个问题

A窗口生成一个B窗口,结果A叉掉之后,B依然正常工作

这种现象似乎很常见,但是不太明白原因,请高手指点。 --------------------编程问答-------------------- 就比如说妈妈生下了你,若干年后妈妈去了,但是你还在。 --------------------编程问答--------------------
引用 1 楼 waynell 的回复:
就比如说妈妈生下了你,若干年后妈妈去了,但是你还在。

这个比喻很形象 --------------------编程问答--------------------
引用楼主 xnubxtxi 的回复:
我是在看到swing编程中发现的一个问题

A窗口生成一个B窗口,结果A叉掉之后,B依然正常工作

这种现象似乎很常见,但是不太明白原因,请高手指点。

这是窗口的生命周期问题,lz自己去找吧。 --------------------编程问答--------------------
引用楼主 xnubxtxi 的回复:
我是在看到swing编程中发现的一个问题
A窗口生成一个B窗口,结果A叉掉之后,B依然正常工作
这种现象似乎很常见,但是不太明白原因,请高手指点。

对象创建以后,关键要看有没有什么变量在使用(引用)它,如果有,那就不能回收,如果没有了当然可以纳入回收范围(这与对象是如何创建的应该没关系).

--------------------编程问答--------------------
引用 1 楼 waynell 的回复:
就比如说妈妈生下了你,若干年后妈妈去了,但是你还在。

.............. --------------------编程问答--------------------
引用 1 楼 waynell 的回复:
就比如说妈妈生下了你,若干年后妈妈去了,但是你还在。

 这哥们比喻很形象... 哈哈 --------------------编程问答-------------------- 此情况A和B是独立的,只是A和B之间拥有B在A上的这种关系 --------------------编程问答--------------------
引用楼主 xnubxtxi 的回复:
我是在看到swing编程中发现的一个问题

A窗口生成一个B窗口,结果A叉掉之后,B依然正常工作

这种现象似乎很常见,但是不太明白原因,请高手指点。


果然很形象 --------------------编程问答-------------------- 又不是垃圾回收。。。。 --------------------编程问答--------------------
引用 1 楼 waynell 的回复:
就比如说妈妈生下了你,若干年后妈妈去了,但是你还在。
晕 --------------------编程问答-------------------- 一楼这形象的比喻。。。。。。我擦了!!!! --------------------编程问答-------------------- new 了一个新对象。它的存在与否与第一个无关 --------------------编程问答-------------------- 我竟然也是这么想的。哈哈
引用 1 楼 waynell 的回复:
就比如说妈妈生下了你,若干年后妈妈去了,但是你还在。
--------------------编程问答-------------------- - - 如果说每个对象都是一个人,那么只要还有人要这个B,她就不会消失 --------------------编程问答--------------------
引用 4 楼 gsy999 的回复:
引用楼主 xnubxtxi 的回复:
我是在看到swing编程中发现的一个问题
A窗口生成一个B窗口,结果A叉掉之后,B依然正常工作
这种现象似乎很常见,但是不太明白原因,请高手指点。

对象创建以后,关键要看有没有什么变量在使用(引用)它,如果有,那就不能回收,如果没有了当然可以纳入回收范围(这与对象是如何创建的应该没关系).


new之后,不正是A指向B?A关掉,不就是A没有指向,难道不回收?多谢 --------------------编程问答-------------------- --------------------编程问答-------------------- 对象是否存在,和谁持有对象有关,而不是谁创建了对象
假设不存在某对象的引用,该对象仍会存在一段时间,直到被垃圾回收掉 --------------------编程问答-------------------- A与B是独立的,不是父子线程那样。 --------------------编程问答-------------------- 这个简单的例子,这么费解吗,大家不用无限制发散

就是A不但new,而且唯一持有B,然后A界面叉掉,B还在

请明白的朋友帮忙解释

我觉得可能是java和os的一些互动机制或java的swing机制造成的假象:表面A唯一持有B,其实还有机制内别的对象持有了B???不懂,所以请教大家,谢谢了 --------------------编程问答-------------------- 楼主你想多了,没有人规定B一定要被别人拥有才能存在,再说在A中创建了B并不代表B是A的对象, --------------------编程问答-------------------- 围观一楼,大亮~ --------------------编程问答--------------------
引用 21 楼 huang_1106 的回复:
围观一楼,大亮~

+1 --------------------编程问答-------------------- 19楼没有说明白吗?难道要糊里糊涂就这么算了? --------------------编程问答-------------------- java里的窗口可以察除?好像都是点叉的时候是隐藏吧?你上网找资料看看,我记不太清在那本书上看的了。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,