JAVA 多型應用

2021-09-20 04:20:19 字數 1557 閱讀 3243

1 使用父類作為方法引數型別

2 使用父類作為方法返回值型別

(注: 當作為引數的父類是普通類或者抽象類時,構成繼承多型; 當作為引數的父類是乙個介面時,構成介面多型)

( 形式引數的型別:  ①基本型別     ②引用型別  )
普通類形參: 當乙個形參希望我們傳入的是乙個普通類時,我們實際上傳入的是該類的物件/匿名物件

抽象類形參: 當乙個形參希望我們傳入的是乙個抽象類時,我們實際上傳入的是該類的子類物件或子類匿名物件

接 口 形 參 : 當乙個形參希望我們傳入的是乙個介面時,我們實際上傳入的是該類的實現類物件或實現類匿名物件

注 意 : 當乙個方法的形參是引用型別的時候,需做非空判斷,以免出現型別轉換異常

( 返回值的型別: ①基本型別 ②引用型別 )

普通類: 當乙個方法的返回值是乙個普通的類時,實際上返回的是該類的物件,我們可以使用該類的物件接收

抽象類: 當乙個方法的返回值是乙個抽象類時,實際上返回的是該抽象類的子類物件,我們可以使用該抽象類接收

接 口: 當乙個方法的返回值是乙個介面時,實際上返回的是該介面的實現類物件,我們可以使用介面接收

(注:當方法的返回值型別是引用型別的時候,可以使用鏈式呼叫)
public

static

void

main

(string[

] args)

}inte***ce

ivehicle

abstract

class

abstool

class

carextends

abstool

implements

ivehicle

public

void

run(

)public

void

show()

// 抽象類abstool作為形參,傳入的實參應是其(匿名)子類car的(匿名)物件:new car();

public

void

method1

(abstool s)

// 介面ivehicle作為形參,傳入的實參應是其實現類car的(匿名)物件:new car();

public

void

method2

(ivehicle s)

// 抽象類abstool作為返回值型別,返回的應是其子類car的(匿名)物件:new car();

public abstool method3()

// 介面ivehicle作為返回值型別,返回的應是其實現類car的(匿名)物件:new car();

public

void

method4

(ivehicle s)

}class

bmwextends

car// 普通類car作為返回值型別,返回應是該普通類car的物件,例如:new car();

public car method6()

}

java多型應用

物件導向的三大特徵 1.封裝 2.繼承。3.多型 多型 乙個物件具備多種形態。父類的引用型別變數指向了子類的物件 或者是介面 的引用型別變數指向了介面實現類的物件 多型的前提 必須存在繼承或者實現 關係。動物 a new 狗 多型要注意 的細節 1.多型情況下,子父類存在同名的成員變數時,訪問的是父...

Java多型的應用 模板模式

模板模式是多型的典型應用,在現實生活中有規律的事情都可以總結為模板。寫 的時候,也可以碰到,下面以四大名著中的 西遊記 為例,描述一下模板模式的實現,首先建乙個抽象類,描述一下西遊記的主要情節。package com.ws.basic public abstract class testtemple...

Java學習 java 多型

多型 一種事物的多種形態 多型的規則 前提 1.類與類之間要建立關係,建立繼承的關係 2.必須要有方法的重寫 3.父類的指標 引用 指向子類的物件 空間 public static void main string args class animal class cat extends animal...