型別轉換分為自動型別轉換和強制型別轉換
1.自動型別轉換/向上型別轉換:父類(小型別)->子類(大型別)(不存在風險)
animal animal = new animal();
dog dog = new dog();
animal = dog; //自動型別轉換,不存在風險
2.強制型別轉換/向下型別轉換:子類(大型別)->父類(小型別)(存在風險)
dog = animal; //強制型別轉換,存在風險
作用:判斷某個物件是否是某個型別的物件或其子類的物件
用法:
物件 instanceof 型別; //返回布林值
關鍵字為abstract
public
abstract
class 類名
介面關鍵字為inte***ce,語法與class類似,為:
public
inte***ce 介面名 extends [父介面名1,父介面名2,...]
介面中的變數定義時都會自動以public static final修飾
介面中的方法定義時都會自動以public abstract修飾
使用介面語法:
修飾符 class 類名 extends 父類名 implements 父介面名1,父介面名2,...
使用介面物件語法:
inte***ce i = new 實現了該介面的類名();//不過只能訪問介面內的成員
在介面中使用匿名內部類:
匿名內部類使用語法格式:
inte***ce i = new inte***ce()
}//或
new inte***ce()
}
也就是說不需要使用乙個外部類來實現乙個介面裡的抽象方法,而是通過匿名內部類的方式直接實現並使用介面內的抽象方法。 java學習筆記之 多型
父類引用指向子類物件時,注意以下幾點 1 例項化乙個沒有名字的子類物件,然後向上轉型為父類的父類的引用,先去呼叫子類重寫的方法,子類沒有重寫就再去呼叫父類的方法。2 只能呼叫父類中定義過的方法和變數 父類中沒有定義過呼叫的時候要報錯 3 專屬於子類的成員變數,在子類方法中被訪問時,這時候通過父類引用...
java學習之多型
向上轉型是不需要進行強制型別轉換的,但是向上轉型會丟失精度。與向上轉型對應的乙個概念就是 向下轉型 所謂向下轉型,也就是說父類的物件可以轉換為子類物件,但是需要注意的是,這時則必須要進行強制的型別轉換。類似於人壓彈簧 一 向上轉型可以自動完成 二 向下轉型必須進行強制型別轉換。可以用instance...
Java學習之多型
原帖 多型 晚繫結。不要把函式過載理解為多型。因為多型是一種執行期的行為,不是編譯期的行為。多型 父型別的引用可以指向子型別的物件。比如 parent p new child 當使用多型方式呼叫方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤 如果有,再去呼叫子類的該同名方法。注意此處,靜態...