黑马程序员技术交流社区
标题:
子类可以直接使用父类的非空参构构函数?
[打印本页]
作者:
谢洋
时间:
2013-3-2 10:24
标题:
子类可以直接使用父类的非空参构构函数?
本帖最后由 谢洋 于 2013-3-4 00:12 编辑
如果子类中都没有复写父类构造函数,子类在创建对象时可以直接使用父类的非空参构构函数?
为什么?
作者:
刘圣繁
时间:
2013-3-2 10:44
父类:
class father{
String name;
int age;
father(){}
father(String name,int age){
this.name=name;
this.age=age;
}
}
子类::
class Son{
String id;
son( String name,int age,String id){
super(name,age);
this.id=id;
}
}
主类:
class MainClass{
public static void main(String[]args){
Son son=new Son("wanglin",18,"10001");//
子类在创建对象的时候就调用了父类的非空构造函数
}
}
作者:
罗海云
时间:
2013-3-2 10:53
没有复写构造函数之说...假如你想用父类的非空构造函数..就这样..例如: super(a,b); 记住,一定要写在第一行.
作者:
胡勇敏
时间:
2013-3-2 11:08
构造函数不存在覆写的说法,子类的构造函数在默认的情况下就是可以调用父类的构造函数的,至于调用哪个就是看参数而定的,用super来调用。
作者:
黑马-小龙
时间:
2013-3-3 18:33
首先你得明白,继承的概念。然后 明白子类的实例化过程。这样和你说吧,子类创建对象会先创建父类的对象。创建父类的对象当然会调用父类的构造函数。明白吗
作者:
王海龙2013
时间:
2013-3-3 19:17
继承包括父类的属性变量,子类构造函数初始化时要先去调用父类的构造函数进行初始化。默认构造函数是空参数的,因此默认调用也是空参数的。要调用指定类型的要在第一行super(指定类型)才能调用,如果父类没有空参数构造函数,子类也没有调用指定构造函数会报错的。建议你再看一遍毕老师对继承的课。应该就能理解了。
作者:
王海龙2013
时间:
2013-3-3 19:18
手机回个真累
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2