首页 > 编程语言 > 详细

关于java继承条件下的构造方法调用

时间:2019-10-28 01:10:38      阅读:138      评论:0      收藏:0      [点我收藏+]

首先是测试代码:

class Grandparent 
{
    public Grandparent()
     {

            System.out.println("GrandParent Created.");
    
}
    public Grandparent(String string) 
    {

            System.out.println("GrandParent Created.String:" + string);
    
 }
}
class Parent extends Grandparent
{


    public Parent()
     {

            //super("Hello.Grandparent.");

            System.out.println("Parent Created");
    
       // super("Hello.Grandparent.");

      }

}
class Child extends Parent 
{


    public Child()
     {
    
        System.out.println("Child Created");

      }

}



public class TestInherits 
{


    public static void main(String args[])
     {

            Child c = new Child();
    
  }

}

在运行后,会出现这样的结果:

技术分享图片

 

技术分享图片

 

 

 这是我们的任务

要完成这个任务,首先对代码进行了修改:

    public Parent()
     {

            super("Hello.Grandparent.");

            System.out.println("Parent Created");
    
       super("Hello.Grandparent.");

      }

但发现编译器进行了报错:

技术分享图片

 

 也因此发现,对super的调用必须是构造器中的第一个语句.

将后面的super语句删除后,再次运行有:

技术分享图片

 

 可以看到,我们成功调用了父类中的另一个构造方法。

从这里我们可以学习到,super的调用必须是构造器中的第一个语句。即

技术分享图片

 

关于java继承条件下的构造方法调用

原文:https://www.cnblogs.com/wushenjiang/p/11749818.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!