public class A {
public void f(A a) {
System.out.print("in A ");
}
}
public class B extends A {
public static void main(String[] args) {
B b = new B();
A a = new A();
b.f(b);
b.f(a);
}
}
为什么在B类中添加以下方法会出现编译错误?
众所周知,如果方法抛出某些内容,则不必在方法标题中声明...
public void f(A a) {
System.out.println("in B");
throw new java.io.IOExeption();
}
答案 0 :(得分:0)
众所周知,如果方法抛出某些东西,则不必在方法头
中声明它
仅对未经检查的例外情况有效。您的方法抛出== null
这是已检查的异常,因此您必须捕获它或声明抛出它,否则编译将失败。