一、final關鍵字:
1、可以修飾變數、方法、類
2、修飾變數時,變數的值不能再改變,成為乙個常量
3、修飾方法時,被修飾的方法不能被修改
4、修飾類時,這個類不能被繼承,並且類中的成員方法會隱式地被final修飾
5、當final修飾乙個引用型別時,此時這個引用型別變數指向的物件不能改變,不能再指向
其他物件,但指向的物件的內容可以改變。
二、abstract(抽象)修飾符:
1、可以修飾方法、類
2、被abstract修飾的方法在父類中不被實現,此抽象方法在子類中實現功能
3、被abstract修飾的類不能建立物件,類中可以宣告抽象方法,然後在子類
中實現這些抽象方法
三、介面:
1、介面可以看成是一種特殊的抽象類,用inte***ce修飾
語法結構:
[修飾符] inte***ce 介面名
2、介面之間是多繼承
語法結構:
[修飾符] inte***ce 介面名 extends 介面1,介面2,...,介面n
3、乙個類可以實現多個介面
語法結構:
[修飾符] class 類名 implements 介面1,介面2,...,介面n
四、向上轉型
1、向上轉型發生在繼承關係中
例:animal是父類,cat是子類
animal cat=new cat();//是指父類型別變數cat指向子類例項物件,子類的例項物件自動向上轉型為父類型別
2、向上轉型之後,cat失去了子類特有的屬性和方法
五、向下轉型
1、向下轉型與向上轉型相對,同樣發生在繼承關係中,向下轉型是強制轉型
例:animal是父類,cat是子類
animal cat=new cat();
cat cat2=(cat)cat;//把cat強轉為cat型別並賦給cat2
2、向下轉型後,cat2也可以訪問子類的特有屬性和方法
六、多型
乙個事物的多種形態
關於抽象類和介面向上轉型
抽象類的出現,只要是為了規範子類的方法的命名,抽象類不能建立物件,是因為抽象類中含有抽象方法,所以抽象類是不完整的,假若抽象類可以建立物件的話,建立出來的物件要呼叫抽象類的方法,而抽象方法無調調用,就會出錯,所以抽象類無法建立物件。介面類的出現原因和抽象類差不多,但是抽象類和介面還是有很大的差別的,...
多型 抽象類 介面
抽象類介面 什麼是多型?同乙個物件,在不同時刻表現出來的不同形態 1.有繼承 實現的前提 2.有方法的重寫 3.有父類引用指向子類物件 例 animal a new cat 成員變數訪問 父類中有的屬性,才能正常編譯 編譯看左邊 如子類也有相同屬性,訪問執行出來的是父類中的屬性值 成員方法訪問 父類...
多型 抽象類 介面
同一物件,在不同時刻表現出來的不同形態 多型的前提和實現 有繼承 實現關係 有方法重寫 有父類引用指向子類物件 多型中成員訪問特點 成員變數 編譯看左邊,執行看左邊 成員方法 便宜看左邊,執行看右邊 為什麼成員方法和成員變數的訪問不一樣呢?因為成員方法有重寫,而成員變數沒有 多型的好處和弊端 好處 ...