JAVA學習筆記之多型

2021-08-14 09:22:00 字數 1201 閱讀 6505

型別轉換分為自動型別轉換和強制型別轉換

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 當使用多型方式呼叫方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤 如果有,再去呼叫子類的該同名方法。注意此處,靜態...