gpt4 book ai didi

java - 防止子类覆盖接口(interface)

转载 作者:行者123 更新时间:2023-12-01 18:08:52 26 4
gpt4 key购买 nike

有没有办法防止子类重写父类(super class)实现的接口(interface)。

我想在android中创建一个包含listView的自定义 View 并实现onScroll监听器,但是当子类在列表上设置onScroll监听器时。父类(super class)的监听器永远不会被调用。

最佳答案

是的,有。

最后一句话是:最终

通过声明方法final,您可以声明子类不允许@Override此方法(即使没有注释)。

考虑这个界面:

interface MyInter  {
public void foo();

public String bar();
}

还有你的类(class)

public class MyClass implements MyInter {

@Override
public final void foo() {
//Cant touch this
}

@Override
public String bar() {
return "foo";
}

}

现在您的第三个类可以扩展 MyClass - 但仅限于覆盖 bar() 因为 foo()final 关键字保护:

public class Thirs extends MyClass {
@Override
public String bar() {
return "bar";
}
}

关于java - 防止子类覆盖接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34391737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com