zoukankan      html  css  js  c++  java
  • 039_面向对象_12_方法的重写

    一、概念部分

      a)方法的重写(override):在子类中可以根据需要对从基类中继承来的方法进行重写。
    二、重写的特征 

      a)重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。
      b)重写方法不能使用比被重写方法更严格的访问权限。(由于多态)

    三、方法重写和方法重载的区别

      很多人问重写和重载什么区别? 他们两个完全是两回事。除了名字都带一个“重”字之外。
      方法重载指的是:同一个类中,一个方法名对应了多个方法(形参列表(参数个数,类型及顺序)不同)
      方法的重写指的是:子类重写了父类的方法!

    四、演示示例

     

    package edu.aeon.test;
    /**
     * [说明]:测试继承及重写
     * @author aeon
     */
    public class Animal {
        String eye;
        public void run() {
            System.out.println("跑跑!");
        }
        public void eat() {
            System.out.println("吃吃!");
        }
        public void sleep() {
            System.out.println("zzzzz");
        }
        public Animal() {
            System.out.println("创建一个动物!");
        }
    }
    class Mammal extends Animal {
        public void taisheng() {
            System.out.println("我是胎生");
        }
    }
    /**
     * 重写父类的run方法
     * @author aeon
     *
     */
    class Bird extends Animal {
        @Override
        public void run() {
            //是否真的覆盖了父类的方法呢?没有、只是重写该方法的类重写了、何谈覆盖?
            super.run();
            System.out.println("鸟类既可以跑又可以飞呀!");
        }
        //还有其它自己独有的方法....
        public void eggSheng() {
            System.out.println("卵生");
        }
    }
    package edu.aeon.test;
    /**
     * [说明]:测试重写
     * @author aeon
     */
    public class Test {
        public static void main(String[] args) {
             Bird b = new Bird();
                b.run();
        }
    }

    测试结果截图:

      

     

    如有任何疑问可联系邮箱: 给我发邮件、或直接联系QQ:1584875179 || 点返回首页

  • 相关阅读:
    【2021-01-01】爱自己等于爱家人
    【2020-12-31】2020的收获与2021的挑战
    【2020-12-30】说别人辛苦,其实是自己辛苦
    【一句日历】2021年1月
    最大子序和
    判断子序列
    下载安装 ethereal
    6812. 【2020.10.05提高组模拟】战争
    6816. 【2020.10.06提高组模拟】随机的排列
    python 版本及pip安装相关
  • 原文地址:https://www.cnblogs.com/aeon/p/9962608.html
Copyright © 2011-2022 走看看