這些知識大多已經(jīng)知道是怎么回事了。過一遍將來面試的時候用
對象轉型
所謂的轉型,是指當引用類型和對象類型不一致的時候,才需要進行類型轉換
- 所有的子類轉換為父類
- 父類轉子類,有的時候行,有的時候不行,所以必須進行強制轉換。
- 沒有繼承關系的兩個類,互相轉換,一定會失敗
- 實現(xiàn)類可以轉接口
- 接口不可以轉實現(xiàn)類
intanceof
package charactor;
public class Hero {
public String name;
protected float hp;
public static void main(String[] args) {
ADHero ad = new ADHero();
APHero ap = new APHero();
Hero h1= ad;
Hero h2= ap;
//判斷引用h1指向的對象,是否是ADHero類型
System.out.println(h1 instanceof ADHero);
//判斷引用h2指向的對象,是否是APHero類型
System.out.println(h2 instanceof APHero);
//判斷引用h1指向的對象,是否是Hero的子類型
System.out.println(h1 instanceof Hero);
}
}
多態(tài)
同一個行為具有多個不同表現(xiàn)形式或形態(tài)的能力。
優(yōu)點
- 消除類型之間的耦合關系
- 可替換性
- 可擴充性
- 接口性
- 靈活性
- 簡化性
必要條件
繼承
重寫
父類引用子類
super關鍵字
直接父類對象的引用
Object
頂級父類
final關鍵字
- final修飾類 表示不能被繼承
- final修飾方法 表示不能被重寫
- final修飾基本類型變量 只能賦一次值
- final修飾引用 表示該引用只有1次指向對象的機會
- 表示常量 public static final int itemTotalNumber = 6;//物品欄的數(shù)量
抽象類
在類中聲明一個方法,這個方法沒有實現(xiàn)體,是一個“空”方法
這樣的方法就叫抽象方法,使用修飾符“abstract"
當一個類有抽象方法的時候,該類必須被聲明為抽象類
“感覺這個功能只是為了防止開發(fā)的時候子類忘記重寫父類方法用的”