黑马程序员技术交流社区
标题:
异常问题
[打印本页]
作者:
马雨铎
时间:
2011-7-29 12:30
标题:
异常问题
代码1:
import java.io.*;
class Fu
{
public void myVoid() throws IOException
{
System.out.println("父类");
}
}
public class LianXil extends Fu
{
public void myVoid() throws Exception
{
System.out.println("子类");
}
public static void main(String args[])
{
}
}
代码2:
import java.io.*;
class Fu
{
public void myVoid() throws IOException
{
System.out.println("父类");
}
}
public class LianXil extends Fu
{
public void myVoid(String s) throws Exception
{
System.out.println("子类");
}
public static void main(String args[])
{
}
}
代码1运行的时候出错,说是子类重写了父类的myVoid方法,父类抛出异常IOException而子类抛出异常Exception,是 违反重写规则。所以出错。
但是 代码2 我觉得跟代码1 应该是一样的啊,为什么代码2能正常运行?
作者:
匿名
时间:
2011-7-29 12:54
类抛出异常不能比父类类抛出异常小,所以代码1错了。
代码2跟代码不一样,楼主看错了,在代码2 中的myVoid(String s)方法有参数,并不是重写Fu类的myVoid()方法,所以没有报错,要重写最好的加上注解@Override,加上之后就你会看见错了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2