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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huangxuanheng 中级黑马   /  2014-8-6 21:12  /  2132 人查看  /  28 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 huangxuanheng 于 2014-8-7 21:53 编辑

有时候在编写代码,总发现很多人在继承某个类时,总喜欢调用supper,但我不用supper也能同样达到一样的效果,但是为什么大家都喜欢使用supper呢?

28 个回复

正序浏览
因为有些功能父类定义了,子类直接用super引用父类写好的方法就可以了。 有时是子类的构造方法需要访问父类,因为它需要知道父类的构造方法给继承过来的变量赋了什么值等原因不得不用super。
回复 使用道具 举报
zhxu188 发表于 2014-8-7 10:04
好吧,被误导了....

这都能被误导。 黑马币 -5
回复 使用道具 举报
有的是默认就有的...
回复 使用道具 举报
就跟吃饭要用碗差不多一个道理
回复 使用道具 举报
四楼正解
*                 因为子类的构造函数默认第一行有一条隐式的语句super();
*                 super会访问父类中空参数的构造函数。而且子类中所有的构造函数默认第一行都是super;                       
*
*/
class Test3{
        public static void main(String[] args) {
                Zi z=new Zi();
        }
}
class Fu{       
        Fu(){
                System.out.println("Fu run!");
        }
}
class Zi extends Fu{       
        Zi(){
                System.out.println("Zi run!");
        }
}

//结果为:Fu run!
          Zi run!






回复 使用道具 举报
加不加都行,虽然你没写,但是系统默认在第一行加一条super();语句的
回复 使用道具 举报
lspooooo 发表于 2014-8-7 20:35
用super简单明了一点吧

我觉得不用也很明了啊
回复 使用道具 举报
用super简单明了一点吧
回复 使用道具 举报
会默认给你加上的
回复 使用道具 举报
你不写supper();   程序默认给你加上
回复 使用道具 举报
继承中super和this是相对的,this是经常用的,super我也不是经常见到,更很少用了,就当当学习时学到了。
回复 使用道具 举报
因为会有隐式默认的super去访问父类
回复 使用道具 举报
用super不是代码简洁明了吗
回复 使用道具 举报
即使不显示调用super,编译器也会默认一个空参数的super语句,另外,既然实现相同的功能,用super可以提高代码的重用性。
回复 使用道具 举报
supper是调用继承的父类中的方法,成员变量,用了super就可以在子类中创建新方法的部分功能与父类中的一样时,直接调用,而不用复写
回复 使用道具 举报
多了个屁,哦不对,是p
回复 使用道具 举报
有些地方不写,是有默认的。
回复 使用道具 举报
貌似supper 指得是父类,   实际还是用的super  ,没搞懂楼主的意思,  有代码 有真相,不放代码,看个甚
回复 使用道具 举报
star5603 发表于 2014-8-7 10:00
为什么都写supper。。。不是super么。。。

好吧,被误导了....

点评

这都能被误导。 黑马币 -5  发表于 2014-8-7 15:37
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马