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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

用super简单明了一点吧
回复 使用道具 举报
lspooooo 发表于 2014-8-7 20:35
用super简单明了一点吧

我觉得不用也很明了啊
回复 使用道具 举报
加不加都行,虽然你没写,但是系统默认在第一行加一条super();语句的
回复 使用道具 举报
四楼正解
*                 因为子类的构造函数默认第一行有一条隐式的语句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!






回复 使用道具 举报
就跟吃饭要用碗差不多一个道理
回复 使用道具 举报
有的是默认就有的...
回复 使用道具 举报
zhxu188 发表于 2014-8-7 10:04
好吧,被误导了....

这都能被误导。 黑马币 -5
回复 使用道具 举报
因为有些功能父类定义了,子类直接用super引用父类写好的方法就可以了。 有时是子类的构造方法需要访问父类,因为它需要知道父类的构造方法给继承过来的变量赋了什么值等原因不得不用super。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马