有没有办法防止子类重写 父类(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/