A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李节起 中级黑马   /  2012-4-8 23:55  /  1829 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


代码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能正常运行?

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
岳民喜 + 1
蒙武辉 + 1

查看全部评分

4 个回复

倒序浏览
本帖最后由 张卯 于 2012-4-9 00:02 编辑

代码2的myVoid()有参数,没有复写父类的方法。
关于异常,是因为子类异常不能大于父类异常。
回复 使用道具 举报
本帖最后由 申振华 于 2012-4-9 00:55 编辑

首先覆写给予在继承和接口的实现上,被覆写的方法必须是abstract,而且被覆写的方法不能比要覆写的方法有跟严格的权限,方法名和参数相同。
继承就是子类拿到了操作父类的操控权限。
代码1:
父类中: public void myVoid() throws IOException //不是抽象方法,所以子类在继承时不能覆写此方法
子类:public void myVoid() throws Exception  //子类覆写了父类中的非抽象方法,所以报错了

代码2:
父类:  public void myVoid() throws IOException
子类: public void myVoid(String s) throws Exception
由上可以看出是两个类中独立的方法。所以没有报错
回复 使用道具 举报
import java.io.*;
class Fu
{
    public void myVoid() throws Exception
    {
         System.out.println("父类");
    }
}
class LianXil extends Fu
{
    public void myVoid() throws IOException    {
         System.out.println("子类");
    }
    public static void main(String args[])

    {

    }
}

你的异常抛错了 代码1 的子类异常大于了父类的异常 ,换回来就可以了。我编译 运行通过了的。

评分

参与人数 1黑马币 +1 收起 理由
蒙武辉 + 1

查看全部评分

回复 使用道具 举报
在看完这帖子以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这网上少有的帖子。但是我还是回复了,因为觉得如果不能在如此精彩的帖子后面留下自己的网名,那我死也不会瞑目的!能够在如此精彩的帖子后面留下自己的网名是多么骄傲的一件事啊!楼主,请原谅我的自私!我知道无论用多么华丽的辞藻来形容楼主您帖子的精彩程度都是不够的,都是虚伪的,所以我只想说一句:您的帖子太好看了!我愿意一辈子的看下去!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马