是时候复习一下Java基础了(二)

说到Java的多态、重载、覆盖、重写,大部分人第一反应肯定是这都是最基础的。但是你真的都能说清楚吗?

多态

给父类引用传递不同的子类对象,多态分离出做什么和怎么做。由父类指出做什么,子类指出怎么做。这个之前说过了,现在举个例子:

class Animal{
    void cry(){
    }
}

class Dog extends Animal{
    void cry(){
        System.out.println("汪!!!");
    }
}

class Cat extends Animal{
    void cry(){
        System.out.println("瞄~~~~~");
    }
}

public class doIt{
    public static void main(String[] args){
        Animal animal;
        animal = new Dog();
        animal.cry();
        animal = new Cat();
        animal.cry();
    }
}

上边的程序运行输出:

汪!!!
瞄~~~~~

重载(OverLoad)

方法名和返回值类型相同,但是参数列表不同。参数可以是类型不同,数量不同。最常见的重载就是构造函数的重载。

覆盖(Override)

发生于继承关系中,子类可以覆盖父类的可覆盖方法。只需要方法名相同就可以。子类优先调用覆盖后的方法。

重写(Overwrite)

同样发生于继承关系,与覆盖不同的是,重写过的方法,就好像父类中,没有存在过一样。

之后继续补充,说的不合适的欢迎指出。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值