黑马程序员技术交流社区

标题: super(message)和super(msg)的区别。 [打印本页]

作者: 黑马-周科    时间: 2013-1-26 14:41
标题: super(message)和super(msg)的区别。
本帖最后由 黑马-周科 于 2013-1-27 15:49 编辑

最近看毕老师的视频讲异常。遇到了几个看不明白的地方。求解释,
1.
class FuShuException extends Exception
{
        FuShuException(String msg)
        {
                super(msg);      //msg不同处
        }
}

2,
class NoValueException extends RuntimeException//Exception   //定义面积异常
{
        NoValueException(String message)
        {
                super(message);  //message不同处
        }

1和2中的红颜色标识的不同处有什么却别?
是一种简写方式吗?
作者: 王晓斌    时间: 2013-1-26 14:58
呃,这只是个形式参数,你定义什么都行~~~~只要和你定义中的方法参数相同即可~~~
作者: 冯佩    时间: 2013-1-26 16:45
message或msg都只是形参的变量名而已,只要保证参数类型是String,变量名用什么字母代表则无所谓。
作者: 刘军亭    时间: 2013-1-26 16:58
那只是起个名字,可以随便取的
作者: 罗广伟    时间: 2013-1-26 17:46
本帖最后由 罗广伟 于 2013-1-26 17:49 编辑

因为FuShuException继承了Exception类而Exception中有一个构造方法是

FuShuException建立对象的时候会访问父类构造方法,此时传递了(String msg),此参数会访问父类Exception的Exception(String message)构造方法(也就是上图构造方法)
在这个构造方法中要传递的是String类型的参数而msg和message只是一个变量名,所以在你问题中这两个只是名字的不同,其实没什么区别
即使你写a,b也是可以的。但是为了易读和规范所以写成message或msg。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2