是时候复习一下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)

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

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

posted @ 2016-04-03 23:57  Z漫步  阅读(207)  评论(0编辑  收藏  举报