黑马程序员技术交流社区
标题:
关于继承的问题
[打印本页]
作者:
幕丶落
时间:
2015-4-7 09:11
标题:
关于继承的问题
class Super
{
int i=0;
public Super(String s)
{
i=1;
}
}
class Demo extends Super
{
public Demo(String s)
{
i=2;
}
public static void main(String[] args)
{
Demo d=new Demo("yes");
System.out.println(d.i);
}
}
这是毕老师视频中的一道题,但是听完之后不是很明白,希望大神帮忙解释一下,谢谢了
作者:
一袭蓝10
时间:
2015-4-7 09:56
不是大神,共同学习了
作者:
doomsday
时间:
2015-4-7 10:08
Demo构造的第一行必须指定super(String s),应为父类没有空参数的构造函数,不然会编译失败的
作者:
一袭蓝10
时间:
2015-4-7 10:29
在对子类对象进行初始化时,父类的构造函数也会执行,子类构造函数第一行有一条隐式的语句super()因为这样父类的数据子类可以直接获取。如果父类中没有空参数的构造函数,子类必须手动通过super形式来访问父类构造函数。而你的代码是错的编译不通过,你要在子类构造函数第一行添加一句super(s);
作者:
vayne
时间:
2015-4-7 10:54
这段代码应该是想让我们知道的第一点是:如果父类有参数的构造函数,子类必须向父类传递这个参数;第二点:就是输出的i为2
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2