class testSuper { int a() throws SQLException { return 1; } }public class test extends testSuper { int a() throws ClassNotFoundException { return 2; } };你可以吧你代码贴出来看一下 E:\test>javac test.java test.java:3: cannot resolve symbol symbol : class SQLException location: class testSuper int a() throws SQLException ^ test.java:11: a() in test cannot override a() in testSuper; overridden method do es not throw java.lang.ClassNotFoundException int a() throws ClassNotFoundException ^ 2 errors这是我写的一个例子,编译的时间出了以上错误
{
int a() throws SQLException
{
return 1;
}
}public class test extends testSuper
{
int a() throws ClassNotFoundException
{
return 2;
}
};你可以吧你代码贴出来看一下
E:\test>javac test.java
test.java:3: cannot resolve symbol
symbol : class SQLException
location: class testSuper
int a() throws SQLException
^
test.java:11: a() in test cannot override a() in testSuper; overridden method do
es not throw java.lang.ClassNotFoundException
int a() throws ClassNotFoundException
^
2 errors这是我写的一个例子,编译的时间出了以上错误
总之,一个JS狂人就是这么写的:
<a href="javascript:location.href='http://www.csdn.net'">CSDN</a>
checked的Exception是需要程序进行处理的,而Runtime的如果
你不catch也是可以的,而java.lang.Error,java.lang.ClassCastException
等等都是属于Runtime的违例,所以在子类里面的覆盖方法里面抛
java.lang.Error就相当于你没有抛checked Exception也就验证了最后一句话:
如果父类方法声明抛出例外子类方法可以不声明抛出例外。