java中没有析构函数,为什么?C#中的析构方法作用?

那.net的gc呢?析构函数和gc针对的对象?... 那.net的gc呢?析构函数和gc针对的对象? 展开
 我来答
zhwl_123
2010-12-04 · TA获得超过375个赞
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:319万
展开全部
因为java有垃圾回收机制,也就是当一个对象在较长的时间里不被调用的时候,系统会自动的释放它所占的内存空间,也就相当于是c++/c#中的析构函数的作用,c#我没学过,不过应该和c++差不多,毕竟是c++的升级嘛
一中理科班
2010-12-04 · TA获得超过1.5万个赞
知道大有可为答主
回答量:3749
采纳率:0%
帮助的人:2617万
展开全部
一楼的解释有问题。不是长时间不用,而是系统扫描发现已经没有指针指向某块内存了,就默认这块内存已经不用了。
C#也有相同的垃圾回收机制。在这一点上和java一样,和C++不同。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miracle998
2010-12-04 · 超过17用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:52.5万
展开全部
不是JAVA没有,JAVA中的垃圾回收机制就是析构的方法,并且还不需要我们处理,是系统自动进行处理,节省了我们很多烦恼,而C#中需要我们自己处理那些不用的变量或者类,JAVA中由系统自动处理了,所以才不用再提析构了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzxdkishero
2010-12-05
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
一楼的说法有问题,不是较长时间不用,而是,在内存中存在的对象,而已经没有指针指向这个对象了,即对象已经不能再被访问到,这时候java才将其回收,释放内存资源.对于C#,我是这样理解:C# 的析构函数的作用是,在对象被当作垃圾处理之前,对于此对象先前所用到的资源,做一个释放处理,比如释放数据库联接,保存文件等等.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式