Java final關鍵字與多型全解析

2021-08-14 13:39:46 字數 1632 閱讀 6087

修飾方法 被修飾的方法不能被重寫

修飾變數

1.被final 修飾的物件的位址不能改變(不能重寫指向)

2.final 基本資料型別變數 不能被重寫賦值

修飾類 被修飾的類不能被繼承

**舉例分析:

public

class

demo01

} class

classa

}class

classb

extends

classa

}

一種事物的多種形態

1.類與類之間要產生聯絡 繼承關係

2.要有方法的重寫(沒有方法的重新 多型的意義不大)

3.核心: 父類引用指向子類空間

多型 呼叫成員變數 和 呼叫 成員方法 在記憶體中的表現

多型 呼叫 成員變數

編譯和執行都看等號左邊(父類的引用) 當使用父類引用 指向子類空間的時候

父類的引用 只能看見或者訪問到子類空間中 屬於父類的那部分(super 訪問的部分)

當本類引用指向本類空間的時候 本類的引用可以訪問到整個空間

核心:父類的指標 指向 子類的空間

**舉例分析:

public

class demo04

} class father

}class son extends father

public

void

fun()

}

例題:

/*

* 鐵桶殭屍(zombie) 血量 方法:被打一次掉2血 直到***

* 帽子殭屍 血量 方法:被打一次掉5血 直到***

* 封裝乙個 打殭屍的方法

*/public

class

demo07

public

static

void hit(zombie zombie)

} class

zombie

public

int gethp()

public

void sethp(int hp)

}class

tiezombie

extends

zombie

this.sethp(this.gethp() - 2);

system.out.println("剩餘血量" + this.gethp());

}}

}class

mzombie

extends

zombie

this.sethp(this.gethp() - 5);

system.out.println("剩餘血量" + this.gethp());

// 繼續打

hit();}}

Java final關鍵字 註解

week6 saturday 一 final關鍵字 1 用final修飾的類不能被繼承 2 成員方法加final不能在其他類中重寫此方法 3 被final修飾的資料成員或臨時變數賦值後無法被修改 4 構造方法不能用final修飾 用final修飾的靜態資料成員必須進行初始化 用final修飾的非靜態...

Java final和static關鍵字

繼承的出現提高了 的復用性,並方便開發。但是,有些類在描述完之後,不想被繼承,或者有些類中的部分方法功能是固定的,不想讓子類重寫。可是當子類繼承了這些特殊類之後,就可以對其中的方法進行重寫,這怎麼辦呢?要解決上面的問題,需要用到關鍵字final,final意思是最終,不可變。final是個修飾符,它...

Java final關鍵字宣告的意義

對於final修飾的變數或者類,方法來說 修飾類的時候,該類不能被繼承,final類中的所有成員方法都會被隱式指定為final方法 修飾方法,第一 把方法鎖定,防止繼承類修改它的含義,第二 效率。類中private方法會隱式的指定為final方法 修飾變數 如果是基本資料型別的變數,則數值一旦初始化...