栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么java.lang.Object中的finalize()方法受到“保护”?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么java.lang.Object中的finalize()方法受到“保护”?

我用另一个问题回答您的问题:

为什么

finalize
方法不应该受到保护?

通常,您应该尝试使事物尽可能私密。这就是封装的全部意义所在。否则,您 什么都
可以做

public
finalize
不能
private
(因为派生类应该能够访问它以覆盖它),所以它至少应该是,
protected
但是为什么在不希望使用时给予更多访问权限呢?


在更仔细地阅读了您的评论之后,我想我现在明白了您的要点。我觉得你的意思是,因为从一切导出

java.lang.Object
,因此访问其
protected
成员,它不会做它(或以任何方式任何区别
java.lang.Object
为此事)是
public
相对于
protected
。我个人认为这是Java的设计缺陷。这确实在C#中已修复。问题不是为什么
finalize
要受到保护。没关系。真正的问题是您不应该能够通过基类类型的对象引用来在基类中调用受保护的方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469451.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号