繁体   English   中英

将 add() 方法覆盖到另一个 class Java 中的私有 Set<>?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM