假设我有 2 个基类,其方法必须在子类中重写:
public abstract class Base1 {
protected abstract void method();
}
public abstract class Base2 {
protected void method() {
throw new UnsupportedOperationException();
}
}
使用的最佳实践是什么:抽象方法还是具有默认不支持异常的方法?
最佳答案
两者不应被视为替代方法。 不支持
和未实现
之间是有区别的,理想情况下我们也应该在代码中维护它。
在没有有效且默认实现的情况下使用abstract
方法。
在不允许/不支持操作的方法中使用UnsupportedOperationException
实现。例如,remove 方法应该在不可修改的集合(Set/List)等中抛出此异常,请参阅 Collections
类。 (注意这里可能的默认实现是向调用者抛出异常)
关于java - 抽象方法和带有 UnsupportedException 的方法哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19291311/