重写

重写

    啥是重写? 想这么一个事儿. 我们看电视剧的时候, 经常看到这样一个烂剧情. 儿子不满意父亲对儿子未来的包办,自己出来独立创业的狗血剧情. 咱们先不管剧情有多烂. 想这么个事儿. 父亲给的东西一定是儿子满意的么? 不一定吧. 那怎么办呢? 自己独立创业啊~~~

重写: 子类对父类给的方法不满意. 对父类中的方法进行重新定义.

要求: 子类方法的声明必须和父类中的方法完全一致.

比如, 历史上著名的李渊和李世民父子~~

package com.lewen.opp;

public class Emperor {
    public void makeCountry(){
        System.out.println("皇帝建立了一个国家");
    }
}



package com.lewen.opp;

public class Prince extends Emperor {
    public void makeCountry(){
        System.out.println("太子要建立一个新的国家");

    }

}

package com.lewen.opp;

public class Test {
    public static void main(String[] args) {
        Prince pri = new Prince();
        pri.makeCountry();
    }
}

OK. 搞定. 让你再蹦~~ 我们发现执行的时候. 看不见李渊了.

但是啊, 我们都清楚. 大唐的建立, 离不开李渊, 是李渊先牛B, 然后才是李世民牛B.

所以, 我还想看见李渊的一些功劳. 当然了. 主要功劳还必须得是我李世民的.

package com.lewen.opp;

public class Prince extends Emperor {
    public void makeCountry() {   // 方法的重写,覆盖
        super.makeCountry();           //半盖
        System.out.println("太子要建立一个新的国家");
    }
}

方法的重写又被称为覆盖. 上面这种写法, 通过super来调用父类中被重写了的方法被称为 半盖~~

posted @ 2020-01-19 14:25  元贞  阅读(124)  评论(0编辑  收藏  举报