zoukankan      html  css  js  c++  java
  • 2020年8月12日 重写 重写练习

    package com.atguigu.test02;
    
    /*
     * 方法的重写:Override
     * 当子类继承了父类的方法时,但是父类的方法体不适用于子类了,那么子类可以选择进行“重写overwrite”。
     * 
     * 方法 = 方法签名/方法头 + 方法体
     * 
     * 重写有要求:
     * (1)方法名:必须和父类被重写的方法名“相同”
     * (2)形参列表:必须和父类被重写的形参列表“相同”
     * (3)返回值类型:
     *        基本数据类型和void:要求与父类被重写的方法的返回值类型“相同”
     *   引用数据类型:要求子类重写的方法的返回值类型 <= 父类被重写的方法的返回值类型
     *           例如:
     *               子类方法的返回值类型是Student,父类被重写方法的返回值类型是Student
     *               子类方法的返回值类型是Student,父类被重写方法的返回值类型是Person
     *               子类方法的返回值类型是Person,父类被重写方法的返回值类型是Student(错误的)
     * (4)修饰符
     * ①权限修饰符:子类重写的方法的权限修饰符的可见性范围 >= 父类被重写方法的权限修饰符的可见性范围
     *             例如:
     *                 子类方法的权限修饰符是public,父类被重写方法的权限修饰符public
     *                 子类方法的权限修饰符是public,父类被重写方法的权限修饰符protected
     * ②其他修饰符(后面讲)
     */
    public class TestOverride {
        public static void main(String[] args) {
            Manager m = new Manager("崔志恒", 20000,1000);
            System.out.println(m.getInfo());
        }
    }
    //员工
    class Employee{
        //属性列表
        private String name;
        private double salary;
        //构造器列表
        public Employee(String name, double salary) {
            this.name = name;
            this.salary = salary;
        }
        public Employee() {
        }
        //get/set
        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 String getInfo(){
            return "姓名:" + name + ",薪资:" + salary;
        }
    }
    //经理
    class Manager extends Employee{
        //子类的属性列表
        private double bonus;//奖金
    
        //子类的构造器列表
        public Manager(String name, double salary, double bonus) {
            super(name, salary);
            this.bonus = bonus;
        }
    
        public Manager() {
        }
    
        //子类的get/set
        public double getBonus() {
            return bonus;
        }
    
        public void setBonus(double bonus) {
            this.bonus = bonus;
        }
        
        //重写父类的getInfo()
        public String getInfo(){
            //父类的name和salary的属性是私有的,不能在子类中直接使用
            //return "姓名:" + name + ",薪资:"+salary + ",奖金" + bonus;
            return "姓名:" + getName() + ",薪资:"+ getSalary() + ",奖金" + bonus;
        }
    }
  • 相关阅读:
    经方败案群20150303李小荣讲桂枝芍药知母汤
    经方败案群崩漏专题4李跃海谈崩漏体会
    经方败案群20150911李跃海“外台茯苓饮的探讨”
    经方败案群崩漏专题1
    经方败案群腰痛专题1
    柴胡加龙骨牡蛎汤去大黄合当归芍药散治顽固心悸案(李跃海)
    葛根汤加杏仁治疗便血
    胃胀不食与胸痹方
    肝硬化腹水案
    桂枝加厚朴杏子汤案
  • 原文地址:https://www.cnblogs.com/douyunpeng/p/13490030.html
Copyright © 2011-2022 走看看