【发布时间】:2017-05-29 20:52:26
【问题描述】:
我有一些具有“受保护”范围的字段的通用类。是否可以在继承的类中覆盖或覆盖这个范围?这是我的通用(扩展)类的示例:
public abstract class BaseDAO<T extends Entity> {
protected MongoClient client;
protected MongoCursor<Document> cursor; }
那么,如果最具体的话,如何在我的继承类中将“受保护”更改为“私有”?
Google 不理解我的请求并提供有关继承的最基本教程,但没有回答我的问题。也试图在这里搜索一些标签,比如“java范围覆盖”等等。没用。
感谢您的反馈!
【问题讨论】:
-
你不能……就这么简单。
-
如果您在子类中重新声明字段,您将隐藏而不是覆盖(请参阅:stackoverflow.com/questions/9414990/…)。在方法方面,只能增加可见性(例如保护为公共),不能减少(保护为私有)。
-
是的,我知道 super.fieldName 和 just fieldName 是不同的变量。但你还是回答了我的问题,谢谢!
标签: java inheritance scope overriding