大家帮忙理解一下下面这段话
如果使用繼承時,在父類別的某個方法上宣告了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被重新定義的方法上之例外之子類別
}
如果使用繼承時,在父類別的某個方法上宣告了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被重新定義的方法上之例外之子類別
}
2 float methods (float a,float ,b){}//不可以,权限变小了,异常倒可以可僅throws父類別中被重新定義的方法上之某些例外
父类中有多个异常的话,你可以在子类中只声明出部分异常可throws被重新定義的方法上之例外之子類別
子类可以声明父类中异常的子类