運(yùn)行時(shí)多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)代碼重用的一個(gè)大機(jī)制,動(dòng)態(tài)性的概念也可以被說成“一個(gè)接口,多個(gè)方法”。Java實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的基礎(chǔ)是動(dòng)態(tài)方法調(diào)度,它是一種在運(yùn)行時(shí)而不是在編譯期調(diào)用重載方法的機(jī)制,下面就繼承和接口實(shí)現(xiàn)兩方面談?wù)刯ava運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)。
一、通過繼承中超類對(duì)象引用變量引用子類對(duì)象來實(shí)現(xiàn)
舉例說明:
//定義超類superA
class superA
{
int i = 100;
void fun()
{
System.out.println(“This is superA”);
}
}
//定義superA的子類subB
class subB extends superA
{
int m = 1;
void fun()
{
System.out.println(“This is subB”);
}
}
//定義superA的子類subC
class subC extends superA
{
int n = 1;
void fun()
{
一、通過繼承中超類對(duì)象引用變量引用子類對(duì)象來實(shí)現(xiàn)
舉例說明:
//定義超類superA
class superA
{
int i = 100;
void fun()
{
System.out.println(“This is superA”);
}
}
//定義superA的子類subB
class subB extends superA
{
int m = 1;
void fun()
{
System.out.println(“This is subB”);
}
}
//定義superA的子類subC
class subC extends superA
{
int n = 1;
void fun()
{