重写与重载

1. 问题描述

随着头越来越秃,会发现Java中重写与重载越来越重要,贯穿整个编程过程,用通俗的语言简单介绍

2. 问题方案

重写和重载都是java多态性的一种表现。

2.1 重写(Override)

2.1.1 重要特征

(1)重写方法位于两个类中;

(2)方法名称与参数一模一样

2.1.2 主要场景

父类与子类之间。

2.1.3 示例
    class Animal{
        public void move(){
            System.out.println("我是父类,跑和走");
        }
    }

    class Dog extends Animal{
        public void move(){
            System.out.println("我是子类,狗可以跑和走");
        }
    }
    class cat extends Animal{
    public void move(){
        System.out.println("我是子类,猫猫走路");
    }
    }

    public class Test{
        public static void main(String args[]){
            Animal a = new Animal();
            Animal b = new Dog();
            Animal  c = new cat();
            a.move();
            b.move();
            c.move();

        }
    }
   
   执行结果:
    我是父类,跑和走
    我是子类,狗可以跑和走
    我是子类,猫猫走路

2.2 重载(Overload)

2.2.1 重要特征

(1)重载方法位于一个类中;

(2)方法名称一样,但是参数个数或者类型不能一样。

2.2.2 常用场景

构造函数,其实为了使程序具有更好的扩展性或者兼容性,重载也常常被用到,比如我们常用的System.out.println()就是典型的重载。

2.2.3 示例
    public static void main(String[] args) {

        System.out.println(11);
        System.out.println(11L);
        System.out.println(11d);
        System.out.println("打发斯蒂芬单点");

    }
    
    执行结果:
    11
    11
    11.0
    打发斯蒂芬单点

JDK中Println源码:

在这里插入图片描述


posted @ 2019-07-13 22:52  软件老王  阅读(381)  评论(0编辑  收藏  举报