zoukankan      html  css  js  c++  java
  • 子类构造器

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

  • 相关阅读:
    算术入门之加减乘除
    scanf的返回值
    Flutter 开发环境配置
    DbContextOptionsBuilder
    MarkDown 的简单用法
    C# 多线程安全集合类
    .NET Core 中使用 MemoryCache 缓存
    JWT
    什么是跨域?跨域解决方法
    .Net Core 中配置的高级用法
  • 原文地址:https://www.cnblogs.com/liuzhidao/p/13707719.html
Copyright © 2011-2022 走看看