大家帮忙理解一下下面这段话
如果使用繼承時,在父類別的某個方法上宣告了throws某些例外,而在子類別中重新定義該方法時,您可以:    * 不處理例外(重新定義時不設定throws)
    * 可僅throws父類別中被重新定義的方法上之某些例外
    * 可throws被重新定義的方法上之例外之子類別
但是您不可以:    * throws出額外的例外
    * throws被重新定義的方法上之例外之父類別
这是我的一个网站上看到的 读了以后又点不解  希望大家帮忙给小弟解释一下我设想了这样一个例子
public class my{
public float methods (float a,float ,b)throws IOException
{}
}
public class my1 extends my {
1 public float methods (float a,float ,b)throws Exception{}  //这样是不可以吧 //符合这个 * throws出額外的例外符合这个吧
2 float methods (float a,float ,b){}//可以吗??默认是什么???public 吗??
}
那这些是什么意思呢???
* throws被重新定義的方法上之例外之父類別
* 可僅throws父類別中被重新定義的方法上之某些例外
    * 可throws被重新定義的方法上之例外之子類別
}

解决方案 »

  1.   

    1 public float methods (float a,float ,b)throws Exception{}  //不可以 throws被重新定義的方法上之例外之父類別,Exception是父异常
    2 float methods (float a,float ,b){}//不可以,权限变小了,异常倒可以可僅throws父類別中被重新定義的方法上之某些例外
    父类中有多个异常的话,你可以在子类中只声明出部分异常可throws被重新定義的方法上之例外之子類別
    子类可以声明父类中异常的子类