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

java语言基础|关于子类和父类的构造方法

2017-06-06 15:44 369 查看
子类会继承父类的构造方法

class testsuper
{
public testsuper()
{
System.out.println("120");
}
}

public class Test extends testsuper{
public Test()
{
System.out.println("110");
}

public static void main(String[] args) {
Test test=new Test();
}
}


这里的输出为120 110

子类会先调用父类的构造方法,当然子类可以用super()来显示调用父类的构造方法,如果不写,默认调用父类无参数的构造方法。

等价于

public Test()
{
super();
System.out.println("110");
}


但是如果父类只有有参数的构造方法在子类没有用super()显示调用构造方法,那么编译器会报错

class testsuper
{
public testsuper(String s)
{
System.out.println("120");
}
}
public class Test extends testsuper{
public Test()
{
super("s");
System.out.println("110");
}
public static void main(String[] args) {
Test test=new Test();
}
}


需要引用父类才不会报错。

至于原因可能与程序的安全与接口有关,程序不应该给你一个不明确定义的方法,所以默认在子类前加载方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐