關於java 繼承和簡單多型

2021-07-10 15:44:46 字數 1168 閱讀 4225

關於多型,在父類和子類中,涉及到父類被賦值為子類從而呼叫子類繼承到父類的方法來訪問子類的屬性(覆蓋的方法)

這裡涉及到一般宣告引用和建立物件的方法。

dog mydog=new dog();

1)宣告物件 dog mydog;

2)建立物件 new dog();

3)連線物件和引用 =

最後即形成了 dog mydog=new dog();

在一般情況下,引用型別與物件的型別必修相符。在這裡無論是建立的還是宣告的物件都是dog。

但是在多型下,引用和物件可以不相同

animal mydog=new dog(); ————引用型別為animal 但是建立物件為dog.

運用物件時,引用型別可以是實際物件的父類。

animal mycat=new cat();

animal mysnail=new snail();

…….

(cat和snail都是animal 的子類)

mycat.getname();—————————輸出為i am cat

mysnail.getname();————————-輸出為i am snail

package shanghai;

class

a void seta(int a)

int geta()

}class

bextends a}

class

cextends b}

class

speaker

void state()

int getid()

public a re_class()//返回型別多型

}public

class

example

}

子類在覆蓋父類方法是不能改變函式的許可權或者說不能改小函式的許可權,但是,可以放大許可權,這是繼承和覆蓋的基本規則。

覆蓋:方法名稱相同,返回型別相同,引數相同,我們只是修改函式的內容。

過載:方法名相同,但是放回型別和引數不相同,引數不相同是指引數型別或者說是引數數目不同,但是只改變返回型別是被允許的,但是許可權可以隨便的改變。在另一種程度來說,我們是建立了乙個新的函式,只是函式名稱相同,但是我們只是為了相同的函式名實現在不同的情況下的目標功能而已。

Java繼承和多型簡述

當乙個類有很多子類是,並且這些子類都重寫了父類中的某個例項方法。當我們把子類建立的物件的引用放到乙個父類的物件中時,就得到了該物件的乙個上傳型物件,那麼這個上傳型物件在呼叫這個例項方法時就可能具有多種形態。多型性就是指父類中某個例項方法被其子類重寫時,可以各自產生自己的功能行為。class duot...

Java核心 介面 繼承和多型 多型

利用多型可以使程式具有良好的擴充套件性,並可以對所有類物件進行通用的處理。eg 定義乙個平行四邊形的類 parallelogram 在類中頂乙個 draw 方法。public class parallelogram 如果需要頂乙個繪製正方形的方法,通過定義乙個正方形類來處理正方形物件,會出現 冗餘的...

java繼承多型

1 final關鍵字可以幹什麼?有什麼特點?修飾類,使得類不能被繼承 修飾變數,相當於const,變數不能被更新 修飾方法,方法不能被重寫override 2 final關鍵字的面試題?a 修飾區域性變數 基本型別 值不變 引用型別 位址不變,例如在乙個類中再new乙個其他類的final物件d,則d...