OK,我自己摆平了哈~ 是隐式异常和显式异常的区别~ 朋友们,你们可以再拿这两个异常NoSuchMethodException和SQLException,在父类子类搭配来搭配去试试就明白了. class A { public void fun()throws NoSuchMethodException{} };class B extends A { public void fun()throws SQLException {} };运行时异常特殊哦~
呵呵~~看来还是有很多人不明白,或者没认真看题或上机调试过.class A { public void fun(){} };class B extends A { public void fun() throws RuntimeException{} }; 这个例子编译是通过的. 那些说什么父类子类的兄弟,你们的意思我当然明白. 方法覆盖有两个原则,对吧. 1.子类方法权限不能比父类弱 2.子类方法抛出的异常不能比父类的多.就是因为原则2,我才会有这道题的疑问.这个例子,明显父类没异常,子类有异常. 如果按原则2,它应该是通不过编译的,对吧答案我前面已经说了,大家认真看看贴就明白了.RuntimeException异常编译时不捕捉. 运行时由JVM捕捉. jvm深入研究那个书上有说.大家自己去看吧.PS:发现一个比较严重的情况,看了CSDN上很多贴子,发现很多人好像都不认真看贴就回复.这好像是个不太好的习惯哦~~~目标:跟大家一起努力,一起进步
是隐式异常和显式异常的区别~
朋友们,你们可以再拿这两个异常NoSuchMethodException和SQLException,在父类子类搭配来搭配去试试就明白了.
class A
{
public void fun()throws NoSuchMethodException{}
};class B extends A
{
public void fun()throws SQLException {}
};运行时异常特殊哦~
study
===========================================================================
非RuntimeException不申明也可以抛出的,只不过RuntimeException不需要捕捉而非RuntimeException需要
是隐式异常和显式异常的区别~
=============================
你根本没有明白;在Java中要求子类只能平等或者扩大父类的限制(不包括访问修饰符),不能缩小父类的限制
{
public void fun(){}
};class B extends A
{
public void fun() throws RuntimeException{}
}; 这个例子编译是通过的.
那些说什么父类子类的兄弟,你们的意思我当然明白.
方法覆盖有两个原则,对吧.
1.子类方法权限不能比父类弱
2.子类方法抛出的异常不能比父类的多.就是因为原则2,我才会有这道题的疑问.这个例子,明显父类没异常,子类有异常.
如果按原则2,它应该是通不过编译的,对吧答案我前面已经说了,大家认真看看贴就明白了.RuntimeException异常编译时不捕捉.
运行时由JVM捕捉.
jvm深入研究那个书上有说.大家自己去看吧.PS:发现一个比较严重的情况,看了CSDN上很多贴子,发现很多人好像都不认真看贴就回复.这好像是个不太好的习惯哦~~~目标:跟大家一起努力,一起进步
2、 精通JSP,servlet, filter的使用及配置(必须精通,工作中不能在这上浪费时间)。
3、 熟悉struts应用。深入了解MVC模式。
4、 熟练Hibernate的使用。(熟练并不是指应用HibernateSynchronizer这样的工具,而是要会手工写的哦)。
5、 熟练SQL,可以熟练的运用SQL操作DB(这个没什么可说的,注意看SQL,不是HQL)。
6、 熟练使用tomcat配置、部署(这个你一定会吧)。
7、 熟悉spring者优先。
qq 283765999
msn [email protected]
地点: 北京中关村太平洋附近
===================
我好像中招了
但是需要指出的是throws RuntimeException根本没有意义 即使你在方法声明处不写
当然有许多继承了RuntimeException 在方法中却throws,可以说是多此一举 或者是为了明确表明这个异常是哪个包甚至定位到这个包的哪种异常
所以quot:在Java中要求子类只能平等或者扩大父类的限制(不包括访问修饰符),不能缩小父类的限制.并没有错。