回顧
六、多態(tài)的實(shí)現(xiàn)
1.多態(tài)的基本概念
2.方法多態(tài)性
3.對(duì)象多態(tài)性
學(xué)習(xí)小結(jié)
3.對(duì)象多態(tài)性
實(shí)現(xiàn)向下轉(zhuǎn)型
package com.Javastudy2;
/**
* @author Y.W.
* @date 2017年9月7日 下午11:14:42
* @Description TODO 實(shí)現(xiàn)向下轉(zhuǎn)型
*/
public class P316_12_22 {
public static void main(String[] args) {
A1 a = new B1(); // 實(shí)例化子類對(duì)象
a.print(); // 調(diào)用子類B的print()
B1 b = (B1) a; // 向下轉(zhuǎn)型甲抖,強(qiáng)制轉(zhuǎn)換
b.getB(); // 子類對(duì)象b可找到getB()
}
}
class A1 {
public void print() {
System.out.println("******--父類A:public void print(){}");
}
}
class B1 extends A1 {
public void print() { // 方法覆寫
System.out.println("######--子類B:public void print(){}");
}
public void getB() { // 此方法為子類擴(kuò)充的功能
System.out.println("%%%%%%--子類B:public void getB(){},B類擴(kuò)充方法教沾。");
}
}
運(yùn)行結(jié)果:
運(yùn)行結(jié)果1
4.隱藏
利用被關(guān)鍵詞static修飾的靜態(tài)方法是不能被覆寫的述召,來隱藏(Hide)朱转。
package com.Javastudy2;
/**
* @author YangWang
* @date 2017年9月7日 下午11:26:28
* @Description TODO 隱藏子類成員
*/
public class P317_12_23 {
public static void main(String[] args) {
Father dad = new Son();
dad.overWriting();
Father.overWriting();
Son.overWritting();
}
}
class Father {
public static void overWriting() {
System.out.println("######--Father method");
}
}
class Son extends Father {
public static void overWritting() {
System.out.println("******--Son method");
}
}
警告:
IDE警告
運(yùn)行結(jié)果:
運(yùn)行結(jié)果2
隱藏概念只做了解就好,應(yīng)用不廣泛积暖。
七藤为、點(diǎn)撥
1.方法重載(Overload)和覆寫(Override)區(qū)別
2.this和super的區(qū)別
由于兩者都可以調(diào)用構(gòu)造方法,所以this()和super()語法只能二選一夺刑。
3.final關(guān)鍵字的使用
終結(jié)器缅疟。
可以修飾三類情況:修飾類分别、修飾方法及修飾變量。
①使用final修飾的類不能有子類(俗稱太監(jiān)類)
②使用final定義的方法不能被子類覆寫
③使用final定義的變量就成了常量
思考
今天先這樣吧存淫。習(xí)題1的代碼已經(jīng)差不多了耘斩,明天補(bǔ)一下習(xí)題的,這章就ok了桅咆。
一天的學(xué)習(xí)有效時(shí)間也許只有3小時(shí)括授,而我也許就用這3小時(shí)學(xué)習(xí)了Java。
希望這不是自我安慰岩饼,買了劉媛媛的課荚虚,希望可以改善我的學(xué)習(xí)方法。