如何在继承的类中“覆盖”字段的范围?

时间:2017-05-29 20:52:26

标签: java inheritance scope override

我有一些带有“受保护”范围的字段的泛型类。是否有可能在继承的类中覆盖此范围?这是我的通用(扩展)类的示例:

public abstract class BaseDAO<T extends Entity> {

protected MongoClient client;
protected MongoCursor<Document> cursor; }

那么,如果最具体的话,如何在我的继承类中将“protected”更改为“private”?

Google不理解我的请求,并提供有关继承的最基本的教程,但没有给出我的问题的答案。试图在这里通过一些标签来搜索“java范围覆盖”等等。没用。

感谢您的反馈!

2 个答案:

答案 0 :(得分:-1)

这是不可能的,并且不会尊重Liskov substitution principle,因为你的继承类会隐藏&#34;该字段(即您的继承类无法与BaseDAO无缝交换)。

答案 1 :(得分:-1)

你已经收到了正确的答案。你不能降低能见度只会增加它。 (正如@ d.j.brown所说)

因此,您可以覆盖父方法并提高public的可见性,但您无法将其降低为private