• 子类构造器


    现在有两个类,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编译器将报错

  • 相关阅读:
    CCF 201712-4 90分
    hdu2159
    ch11 持有对象
    ch7复用类
    PLSQL Developer 9注册码
    vue + typespript + webpack
    JavaScript 复制内容到剪贴板
    在不同电脑设备之间, 同步 VSCode 的插件和配置
    常用正则:提取内容, 格式化数字
    js css3 固定点拖拽旋转
  • 原文地址:https://www.cnblogs.com/liuzhidao/p/13707719.html
Copyright © 2020-2023  润新知