【发布时间】:2008-11-21 18:57:55
【问题描述】:
在Java中,孪生方法有什么区别?
public void methodA() throws AnException {
//do something
throw new AnException();
}
public void methodA() {
//do the same thing
throw new AnException();
}
我有一种直觉,它与设计良好的方法有关(因为我将 methodA 放在接口中,以 methodA* 在其实现中的方式声明它,并收到来自 Java 的警告“A* 不能覆盖 A,因为 A* 不会抛出 AnException")。
这个猜测正确吗?
这两种做事方式是否还有其他微妙的内涵?
【问题讨论】: