相关疑难解决方法(0)

类使用相同的方法实现两个接口,但不同的检查异常

在SG Ganesh和Tushar Sharma撰写的"Oracle认证专业Java SE 7程序员考试1Z0-804和1Z0-805综合OCPJP 7认证指南"一书中,

"如果在2个或更多接口中声明了一个方法,并且该方法声明在throws子句中抛出不同的异常,则实现应列出所有这些异常"(第347页)

那么,我试过这个

public interface I1 {
    public void x() throws I1Exception;
}

public interface I2 {
    public void x() throws I2Exception;
}

public class I1Exception extends Exception {
}

public class I2Exception extends Exception {
}

public class Sample implements I1, I2{

    @Override
    public void x() throws I2Exception {
        throw new I2Exception();        
    }

    @Override
    public void x() throws I1Exception {
        throw new I1Exception();        
    }

}
Run Code Online (Sandbox Code Playgroud)

当然,异常不是方法签名的一部分,因此编译器抱怨第二种方法是重复的.

另一方面

@Override
public void x() throws I1Exception, I2Exception …
Run Code Online (Sandbox Code Playgroud)

java exception-handling

4
推荐指数
2
解决办法
1288
查看次数

标签 统计

exception-handling ×1

java ×1