Java中的多型

2021-06-26 07:19:16 字數 1060 閱讀 5477

多型:某一種事物的多種存在形態;

1、體現:父類引用指向子類的物件,即父類f ,子類z,f fu= new z();

2、好處:大大提高程式擴充套件性;

3、前提:必須是繼承或實現關係;且存在覆蓋;

4、弊端:只能訪問父類的成員;

轉型:父類引用指向子類物件時,又想要使用子類中的方法,那

麼就需要將該父類引用強轉成指向的子類的型別:

關鍵字:instanceof-->判斷引用指向的物件是否是某個類的物件:

ainstanceof person;

父類f ,子類z,ff = new z();

成員方法特點:編譯看左邊,執行看右邊;如果右邊(子類)不存在所呼叫的方法

成員變數特點:多型中,無論編譯執行都看左邊,呼叫時也是呼叫到父

類中的變數;就是說父類和子類中有相同名稱變數,那麼執行時調

用的是父類的變數;

//定義乙個類

classfu{

publicstatic void main(string args) {

fuf = new zi();

f.run();//編譯時,檢查父類中是否有run方法,執行時呼叫的是子類的run();

因為父類中沒有method方法,那麼寫上則編譯不能通過

if(finstanceof zi){//判斷f是否指向zi類的物件

ziz = (zi)f;//將父類引用向下轉型為子類引用;

z.method();//引用轉成子類型別之後,就可以呼叫子類的方法了

public void run(){

system.out.println("fu_run");

//定義乙個zi類繼承fu類,重寫了fu類的run方法,並且有乙個自己獨有的方法method;

classzi extends fu{

publicvoid method(){//子類中獨有的方法

system.out.println("zi_method");

public void run(){//覆蓋了父類中的run方法

system.out.println("zi_run");

Java中的多型

多型也就是乙個名字多中狀態,這就叫多型。例如,人 老師,學生 老師和學生都是人,也就是人現在有兩種狀態。多型有四種型別 1,基本型別的多型。例如,byte,int,double,float,long。例如2,我們可以把它當作int型別,byte型別,long型別,還可以把其當作double型別。2說...

java中的多型

下面乙個例子,可以很清楚的給大家講解什麼是多型 父類 public class baseclass public void test 子類 public class subclass extends baseclass public void sub 呼叫 public static void ma...

java中的多型

多型 晚繫結。不要把函式過載理解為多型。因為多型是一種執行期的行為,不是編譯期的行為。多型 父型別的引用可以指向子型別的物件。比如 parent p new child 當使用多型方式呼叫方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤 如果有,再去呼叫子類的該同名方法。注意此處,靜態sta...