首页 > 其他 > 详细

子类构造器

时间:2020-09-21 22:05:17      阅读:50      评论:0      收藏:0      [点我收藏+]

现在有两个类,Employee和Manager,其中Employee是父类,Manager是子类

public class Employee{
      private String name;
      private double salary;
      public Employee(String name,double salary){
            this.name = name;
            this.salary = salary;
      }
}
public class Manager extends Employee{
      private double bonus;
      public Manager(String name,double salary){
            super(name,salary);
            bonus = 0;
      }
}

这里的关键字super具有不同的含义.super(name,salary)是调用父类Employee中含有name和salary参数的构造器的简写形式.

由于Manager类的构造器不能访问Employee类的私有域,所以必须利用Employee类的构造器对这部分私有域进行初始化,我们可以通过super实现对父类构造器的调用.使用super调用构造器的语句必须是子类构造器的第一条语句

如果子类的构造器没有显示地调用父类的构造器,则将自动调用父类默认(没有参数)的构造器.如果父类没有不带参数的构造器,并且在子类的构造器中又没有显示地调用父类的其他构造器,则Java编译器将报错

子类构造器

原文:https://www.cnblogs.com/liuzhidao/p/13707719.html

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