[英]Override add() method to private Set<> in another class Java?
我有 2 个 Java 文件:文件 1 是一个给定的数据结构 class 与 Set 方法,我根本不允许修改此 class。 文件 2 是我正在制作的 class,它覆盖了文件 1 中的add()
function。
文件 1
public class MySetClass<E> {
private final Set<E> set = new HashSet<E>(); //is private
public boolean add(E element){
return set.add(element);
}
}
文件 2
public class OverrideMySetClass<E> extends MySetClass<E> {
@Override
public boolean add(E element) {
System.out.println("Overriden Add");
return set.add(element); //ERR: MySetClass<E>.set is not visible (I know it's bc it's private)
}
}
我的问题是如何将项目添加到应该覆盖add()
的方法不可见的集合中?
你应该可以使用super.add(element)
同理this
指的是当前的object, super
指的是它的直接父代
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.