本篇文章給大家分享的是有關(guān)Java中final、static、this、super關(guān)鍵字如何使用,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)按需制作網(wǎng)站,是成都網(wǎng)站建設(shè)公司,為成都食品包裝袋提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站改版熱線:028-86922220
final 關(guān)鍵字
final關(guān)鍵字主要用在三個地方:變量、方法、類。
對于一個final變量,如果是基本數(shù)據(jù)類型的變量,則其數(shù)值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個對象。
當(dāng)用final修飾一個類時,表明這個類不能被繼承。final類中的所有成員方法都會被隱式地指定為final方法。
使用final方法的原因有兩個。第一個原因是把方法鎖定,以防任何繼承類修改它的含義;第二個原因是效率。在早期的Java實現(xiàn)版本中,會將final方法轉(zhuǎn)為內(nèi)嵌調(diào)用。但是如果方法過于龐大,可能看不到內(nèi)嵌調(diào)用帶來的任何性能提升(現(xiàn)在的Java版本已經(jīng)不需要使用final方法進(jìn)行這些優(yōu)化了)。類中所有的private方法都隱式地指定為final。
static 關(guān)鍵字
static 關(guān)鍵字主要有以下四種使用場景:
修飾成員變量和成員方法: 被 static 修飾的成員屬于類,不屬于單個這個類的某個對象,被類中所有對象共享,可以并且建議通過類名調(diào)用。被static 聲明的成員變量屬于靜態(tài)成員變量,靜態(tài)變量 存放在 Java 內(nèi)存區(qū)域的方法區(qū)。調(diào)用格式:類名.靜態(tài)變量名 類名.靜態(tài)方法名()
靜態(tài)代碼塊: 靜態(tài)代碼塊定義在類中方法外, 靜態(tài)代碼塊在非靜態(tài)代碼塊之前執(zhí)行(靜態(tài)代碼塊—>非靜態(tài)代碼塊—>構(gòu)造方法)。 該類不管創(chuàng)建多少對象,靜態(tài)代碼塊只執(zhí)行一次.
靜態(tài)內(nèi)部類(static修飾類的話只能修飾內(nèi)部類): 靜態(tài)內(nèi)部類與非靜態(tài)內(nèi)部類之間存在一個最大的區(qū)別: 非靜態(tài)內(nèi)部類在編譯完成之后會隱含地保存著一個引用,該引用是指向創(chuàng)建它的外圍類,但是靜態(tài)內(nèi)部類卻沒有。沒有這個引用就意味著:1. 它的創(chuàng)建是不需要依賴外圍類的創(chuàng)建。2. 它不能使用任何外圍類的非static成員變量和方法。
靜態(tài)導(dǎo)包(用來導(dǎo)入類中的靜態(tài)資源,1.5之后的新特性): 格式為:import static 這兩個關(guān)鍵字連用可以指定導(dǎo)入某個類中的指定靜態(tài)資源,并且不需要使用類名調(diào)用類中靜態(tài)成員,可以直接使用類中靜態(tài)成員變量和成員方法。
this 關(guān)鍵字
this關(guān)鍵字用于引用類的當(dāng)前實例。 例如:
class Manager {
Employees[] employees;
void manageEmployees() {
int totalEmp = this.employees.length;
System.out.println("Total employees: " + totalEmp);
this.report();
}
void report() { }
}
在上面的示例中,this關(guān)鍵字用于兩個地方:
this.employees.length:訪問類Manager的當(dāng)前實例的變量。
this.report():調(diào)用類Manager的當(dāng)前實例的方法。
此關(guān)鍵字是可選的,這意味著如果上面的示例在不使用此關(guān)鍵字的情況下表現(xiàn)相同。 但是,使用此關(guān)鍵字可能會使代碼更易讀或易懂。
super 關(guān)鍵字
super關(guān)鍵字用于從子類訪問父類的變量和方法。 例如:
public class Super {
protected int number;
protected showNumber() {
System.out.println("number = " + number);
}
}
public class Sub extends Super {
void bar() {
super.number = 10;
super.showNumber();
}
}
在上面的例子中,Sub 類訪問父類成員變量 number 并調(diào)用其其父類 Super 的 showNumber() 方法。
使用 this 和 super 要注意的問題:
在構(gòu)造器中使用 super() 調(diào)用父類中的其他構(gòu)造方法時,該語句必須處于構(gòu)造器的首行,否則編譯器會報錯。另外,this 調(diào)用本類中的其他構(gòu)造方法時,也要放在首行。
this、super不能用在static方法中。
以上就是Java中final、static、this、super關(guān)鍵字如何使用,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。