多型向上向下轉型!

2021-09-27 10:43:05 字數 814 閱讀 9083

**:

public abstract class animal
**:

public class cat extends animal 

void catchmouse()//特有方法!

}

**:

public class dog extends animal 

void watchhouse()

}

其實前面已經有所涉及,具體來說(以動物為例):

/*向上轉型(一定是安全的,小範圍轉到了大範圍)類似於int轉到double

//向下轉型(有前提條件),本來是只貓,強轉型將動物轉到貓上面

**:

public class demodown 

}

向下轉型雖然能夠調取成員特有的方法,但是不安全。下面介紹instanceof來判斷轉型是否正確!(保證嚴密性!)

**:

public static void main(string args) 

//判斷父類物件引用的動物是不是狗

if (animal instanceof dog)

givemeapet(new dog());//在呼叫方法時例項化乙個具體的動物,如狗。

}public static void givemeapet(animal animal)

//判斷父類物件引用的動物是不是狗

if (animal instanceof dog)

}}

多型,向上向下轉型

多型的前提 繼承 物件的多型 乙個物件擁有多種形態,例如小明有學生形態,有人類形態 中體現多型性 其實就是一句話,父類引用指向子類物件 person p new student 上句是向上轉型,一旦向上轉型為父類,就無法呼叫子類原本特有的內容 public class person public c...

多型,向上轉型和向下轉型

參考 1.向上轉型 father father new son father可以呼叫son類中重寫父類的方法,但不能呼叫son類中其它方法 優點 方法的形參是父類物件 呼叫方法時,傳入的實參是子類物件,方法中的父類形參物件卻可以訪問子類中重寫父類的方法 缺點 父類還是不能訪問子類自己的方法 2.向下...

多型,向上轉型和向下轉型

package zuoye 多型 多型指的是同乙個方法呼叫,由於物件不同可能會有不同的行為。現實生活中,同乙個方法,具體實現會完全不同 多型的要點 1 多型是方法的多型,不是屬性的多型 多型與屬性無關 2 多型的存在要有三個必要條件 繼承,方法重寫,父類引用指向子類物件。3 父類引用指向子類物件後,...