gpt4 book ai didi

Java : How to force a given protected method to be overloaded by children classes?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:54:18 26 4
gpt4 key购买 nike

父类不是也不可能是抽象的。重载方法受到保护,因此不能在那里使用接口(interface)。

考虑到这两个限制是否可以做到?

最佳答案

您不能强制覆盖该方法 - 这就是抽象方法的用途(您已声明这不是一个选项)。

一种可能是让基类中的方法抛出一个UnsupportedOperationException。然后,子类必须覆盖它以防止抛出错误。这样,您至少可以检测该方法是否已被覆盖。

例如:

public class Father {
public void method ( ) {
throw new UnsupportedOperationException( );
}
}

public class Child1 extends Father {

}
public class Child2 extends Father {
public void method ( ) {
// Do something useful here...
}
}

调用Child1.method()会抛出UnsupportedOperationException,表明它没有覆盖Fathermethod() 。调用 Child2.method() 不会抛出异常,这意味着它已经覆盖了 method()

关于Java : How to force a given protected method to be overloaded by children classes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13979318/

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