方法的覆盖和重写

阅读量: 1004 编辑

一、如何实现方法的覆盖和重写?

1、当子类继承父类时,可以从父类继承它的属性和方法

2、如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。通常要加上 @Override 注解

3、当对父类的方法进行覆盖时,子类中的方法必须和父类中对应的方法具有相同的方法名称、输入参数和返回值

4、子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限

二、编程实战

代码的详细解读,可以参考视频教程

父类:Person.java

/**
 * User: 祁大聪
 */
public class Person {

    public String name;

    public Integer age;

    private Integer money;

    public void dance(){ //子类可以重写
        System.out.println("我会跳舞");
    }

    public void sing(String song){ //子类可以重写
        System.out.println("我会唱歌");
    }

    private void  getMoney(){
        System.out.println("取现金");
    }
}

子类:Boy.java

/**
 * User: 祁大聪
 */
public class Boy extends Person{

    //当重写的时候,我们要加上这个注解,显示说明子类重写了
    @Override
    public void sing(String song) {
        System.out.println("男孩子喜欢唱rap");
    }
}

子类:Girl.java

/**
 * User: 祁大聪
 */
public class Girl extends  Person{

    @Override
    public void dance() {
        System.out.println("女孩子喜欢跳民族舞");
    }

    public static void main(String[] args) {
        Girl g = new Girl();
        g.dance(); //打印:女孩子喜欢跳民族舞
        
        Person p = new Girl();
        p.dance(); //打印:女孩子喜欢跳民族舞
        
    }
}
爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司