首页 > 其他分享 >继承构造方法和this、super

继承构造方法和this、super

时间:2023-07-21 23:23:00浏览次数:26  
标签:salary name 构造方法 继承 double id super public String

1.继承中构造方法的访问特点是什么?

●子 类不能继承父类的构造方法,但是可以通过super调用

●子类构造方法的第一行, 有一个默认的super();

●默认先访问父类中无参的构造方法,再执行自己。

●如果想要方法文父类有参构造,必须手动书写。

package demo3;

/**
 * ClassName: Employer
 * Package: demo3
 * Description:
 *
 * @Author: 20213923ysf
 * @Create: 2023/7/21 - 22:54
 */
public class Employer {
    private String id;
    private String name;
    private double salary;

    public Employer() {
    }

    public Employer(String id, String name, double salary) {
        this.id = id;
        this.name = name;
        this.salary = salary;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }
    public void eat(){
        System.out.println("吃饭(吃米饭)");
    }
    public void work(){
        System.out.println("员工在工作");
    }
}
package demo3;

/**
 * ClassName: cook
 * Package: demo3
 * Description:
 *
 * @Author: 20213923ysf
 * @Create: 2023/7/21 - 22:54
 */
public class Cook extends Employer{
    public Cook() {
    }

    public Cook(String id, String name, double salary) {
        super(id, name, salary);
    }

    @Override
    public void work() {
        System.out.println("厨师正在炒菜");
    }
}
package demo3;

/**
 * ClassName: manger
 * Package: demo3
 * Description:
 *
 * @Author: 20213923ysf
 * @Create: 2023/7/21 - 22:54
 */
public class Manger extends Employer{
    private double bouns;
    //空参构造
    public Manger() {
    }
    //带全部参数的构造
    //父类+子类
    public Manger(String id, String name, double salary, double bouns) {
        super(id, name, salary);
        this.bouns = bouns;
    }

    public double getBouns() {
        return bouns;
    }

    public void setBouns(double bouns) {
        this.bouns = bouns;
    }

    @Override
    public void work() {
        System.out.println("经理管理其他人");
    }
}
 1 package demo3;
 2 
 3 /**
 4  * ClassName: Test
 5  * Package: demo3
 6  * Description:
 7  *
 8  * @Author: 20213923ysf
 9  * @Create: 2023/7/21 - 23:05
10  */
11 public class Test {
12     public static void main(String[] args) {
13         Manger m = new Manger("2021","张三", 10000,8000);
14         System.out.println(m.getId()+","+m.getName()+","+m.getSalary()+","+m.getBouns());
15         m.eat();
16         m.work();
17 
18         Cook c = new Cook("2022","李四",5000);
19         System.out.println(c.getId()+","+c.getName()+","+c.getSalary());
20         c.eat();
21         c.work();
22         c.setId("2023");
23         c.setName("王五");
24         c.setSalary(8000);
25         System.out.println(c.getId()+","+c.getName()+","+c.getSalary());
26         //输出
27         /*2021,张三,10000.0,8000.0
28         吃饭(吃米饭)
29         经理管理其他人
30         2022,李四,5000.0
31         吃饭(吃米饭)
32         厨师正在炒菜
33         2023,王五,8000.0*/
34 
35     }
36 }

 

标签:salary,name,构造方法,继承,double,id,super,public,String
From: https://www.cnblogs.com/louwangshayu/p/17572604.html

相关文章

  • 继承
    继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。  ......
  • HTML模板继承导入
      include导入 include可以导入多次,extend继承只能一次......
  • java 获取抽象类的所有继承类
    Java获取抽象类的所有继承类在Java面向对象编程中,抽象类是通过abstract关键字定义的。抽象类不能被实例化,它只能被用作其他类的父类。抽象类中可以包含抽象方法和非抽象方法,而抽象方法必须在子类中实现。有时候我们需要获取一个抽象类的所有继承类,以便进行某些操作。本文将介绍......
  • supervisord
    supervisord配置后台服务/常驻进程的进程管家工具安装#安装supervisordapt-getinstallsupervisor实例生成配置文件/etc/supervisord.conf[program:app]command=/usr/bin/gunicorn-w1wsgiapp:applicationdirectory=/srv/wwwuser=www-datasupervisord:启动su......
  • 继承之子类重写父类同名属性和方法
    1'''2子类重写父类同名属性和方法3'''456#1.师父类,属性和方法7classMaster(object):8def__init__(self):9self.kongfu='[古法煎饼果子配方]'1011defmake_cake(self):12print(f'执行了Master类的m......
  • 继承的分类
    分类python继承不像java使用支持单继承,而python支持单继承、多继承。单继承1classParentClass:2#父类的属性和方法34classChildClass(ParentClass):5#子类的属性和方法单继承顾名思义就是子类只有1个父类。示例ChildClass类只有1个父类ParentClass多......
  • 继承之子类复用父类的属性、方法
    1'''2继承:子类复用父类属性、方法3'''456classParent():78def__init__(self):9self.name='Allen'1011defsay(self):12print(f'sayname:{self.name}')131415#子类......
  • 继承
    继承的概念继承是面向对象编程中的一种重要概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类、基类或超类)的属性和方法。通过继承,子类可以获得并重用父类的代码,同时还可以添加、修改或覆盖父类的功能。 继承的主要目的是实现代码的重用和扩展即通过继承,子类可以从父类......
  • 继承
             ......
  • html 学习 day3 css 的层叠 父子size 的继承
    今天遇到一个问题,css的父子继承关系在一种case下不生效。:子节点无法继承父节点的 width和height的设定下面代码的原始版本img无法继承div的宽和高的设定。当 img的css设定为:img{height:100%;width:100%;margin-right:1......