SomeException:
1. public class SomeException {
2. }
Class A:
1. public class A {
2. public void doSomething() { }
3. }
Class B:
1. public class B extends A {
2. public void doSomething() throws SomeException { }
3. }
D. Compilation of class B will fail. Compilation of class A will succeed.
Answer: D  为什么编译的话A对B错呢?谁来帮我解释一下~~谢谢

解决方案 »

  1.   

    得有个编译顺序
    A,someException,B
      

  2.   

    确实,你A的方法dosomething没有抛出异常,而重写的方法却抛出了异常,这里不对。 public class SomeException {
     }
    Class A:
     public class A {
    public void doSomething() throws SomeException { }//这里也加个
    }
    Class B:
    public class B extends A {
    public void doSomething() throws SomeException { }
    }