修飾方法 被修飾的方法不能被重寫
修飾變數
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方法 修飾變數 如果是基本資料型別的變數,則數值一旦初始化...