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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

自动以异常中;代码如下:class  FuShuException extends Exception//自定义异常
    {

public String getMessage()//复写Exception中的getMessage方法
        {
         return msg;       
               
        }

}
上面的代码等价于下面的super语句-----》》》问题是FuShuException 继承了Exception,Exception继承了Throwable;也就是FuShuException继承了                                           >>>>>>>>>>>>Throwable中的构造方法;可是getMessage并不是Throwable中的构造方法,不是随着Throwable的加载而                                                    加载,创建FuShuException后使用super语句,会自动调用getMessage方法吗?---》》为什么会调用                                                    呢?
FuShuException(String msg)
        {
                super(msg);
        }



-------------------------------------------------------------------------
        private String message;
        Throwable(String message)//这是Throwable的构造函数,它只是将它的类中的String变量传递给message;
        {
        this.message = message;       
               
        }
       
        public String getMessage()//而这个getMessage方法,不是随着Throwable的加载而加载吧,它只是Throwable的一个方法吧!
{
          return message;
       
        }
------------------------------------------------------------------------------------------------       
       



4 个回复

倒序浏览
super代表父类,super()自然就是父类构造方法,有符合方法签名的非private方法就能调用
回复 使用道具 举报
可是自定义异常使用getMessage方法时需要自己复写一次啊,这个getMessage方法不是默认构造的啊!前辈
回复 使用道具 举报
getMessage方法  不是默认的,也就是抛异常时需要调用getMessage方法 ,是不是应该在自定义异常时声明一下呢?
回复 使用道具 举报
大神们,有没有知道的呀~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马