Java基础-重写override

package com.hspedu.testoverride_;

public class TestOverride_ {
    public static void main(String[] args) {
        // 测试重写override

        /**
         * 重写override:返回类型、方法名、形参都必须和父类一样
         *  注意:访问权限修饰符,子类重写的方法 >= 父类的被重写方法
         *      public > protected > 默认 > private
         */
        Cat cat = new Cat();
        cat.eat("小白");
    }
}


class Animal {
    private String name;

    protected void eat(String name) {
        System.out.println(name + "在吃饭..");
    }
}

class Cat extends Animal {
    private String name;

    @Override
    public void eat(String name) {
        System.out.println(name + "在吃鱼..");
    }
}

方法重写override和方法重载overload的区别:

  重写override是在继承关系中:1、父类和子类的方法名和形参必须一致;2、返回类型一致,或者子类重写方法的返回类型是父类方法返回类型的子类;3、重写方法的访问权限修饰符 >= 父类被重写方法的访问权限修饰符;

  重载overload是在同一个类中:1、重载的方法名必须一样;2、形参不同;3、返回类型和访问修饰符无要求。

posted @ 2022-05-05 17:10  柯南同学  阅读(28)  评论(0编辑  收藏  举报