您的位置:首页 > 编程语言 > Java开发

java constructor 在构造子类时,一定会调用到父类的构造方法

2009-10-22 17:02 381 查看
sub class must call base class's constructor
sub class will invoke base class's constructor implicityly
if super constructor is undefined, must explicitly invoke another constructor

子类以一定要调用到父类方法。
子类可以隐式的调用父类默认的构造方法。
如果父类没有默认构造方法,必须显示调用。


Constructor call must be the first statement in the constructor
super() or this(...)
super和this要在第一个statement,不能被同时调用

default constructor is equivalent to the following code
public ASubClass(){
super();
}
默认构造函数会调用父类构造方法

if no constructor defined, compiler will create a default one
如果没有默认构造函数,compiler会帮忙生成一个

转载个例子:
class A{
public A(){} // 1:无参数构造方法。
public A(String s){} // 2.
}

class B extends A{
public B(String s){
super(s); // 3.
}
}


记住一点:在构造子类时,一定会调用到父类的构造方法。因为父类中的元素也需要被初始化。
所以父类要么有一个默认的无参数构造,这样Java会自动调用这个无参数的构造。如果父类没有无参数的构造,那么就要你自己在子类的构造中,通过super()的方式调用父类的构造。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: