Java中final、static、this、super關(guān)鍵字如何使用-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)Java中final、static、this、super關(guān)鍵字如何使用,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

目前成都創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、魏縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

final 關(guān)鍵字

final關(guān)鍵字主要用在三個(gè)地方:變量、方法、類。

對于一個(gè)final變量,如果是基本數(shù)據(jù)類型的變量,則其數(shù)值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個(gè)對象。

當(dāng)用final修飾一個(gè)類時(shí),表明這個(gè)類不能被繼承。final類中的所有成員方法都會被隱式地指定為final方法。

使用final方法的原因有兩個(gè)。第一個(gè)原因是把方法鎖定,以防任何繼承類修改它的含義;第二個(gè)原因是效率。在早期的Java實(shí)現(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 修飾的成員屬于類,不屬于單個(gè)這個(gè)類的某個(gè)對象,被類中所有對象共享,可以并且建議通過類名調(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)部類之間存在一個(gè)較大的區(qū)別: 非靜態(tài)內(nèi)部類在編譯完成之后會隱含地保存著一個(gè)引用,該引用是指向創(chuàng)建它的外圍類,但是靜態(tài)內(nèi)部類卻沒有。沒有這個(gè)引用就意味著:1. 它的創(chuàng)建是不需要依賴外圍類的創(chuàng)建。2. 它不能使用任何外圍類的非static成員變量和方法。

靜態(tài)導(dǎo)包(用來導(dǎo)入類中的靜態(tài)資源,1.5之后的新特性): 格式為:import static 這兩個(gè)關(guān)鍵字連用可以指定導(dǎo)入某個(gè)類中的指定靜態(tài)資源,并且不需要使用類名調(diào)用類中靜態(tài)成員,可以直接使用類中靜態(tài)成員變量和成員方法。

this 關(guān)鍵字

this關(guān)鍵字用于引用類的當(dāng)前實(shí)例。 例如:

class Manager {

Employees[] employees;

void manageEmployees() {

int totalEmp = this.employees.length;

System.out.println("Total employees: " + totalEmp);

this.report();

}

void report() { }

}

在上面的示例中,this關(guān)鍵字用于兩個(gè)地方:

this.employees.length:訪問類Manager的當(dāng)前實(shí)例的變量。

this.report():調(diào)用類Manager的當(dāng)前實(shí)例的方法。

此關(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)造方法時(shí),該語句必須處于構(gòu)造器的首行,否則編譯器會報(bào)錯(cuò)。另外,this 調(diào)用本類中的其他構(gòu)造方法時(shí),也要放在首行。

this、super不能用在static方法中。

以上就是Java中final、static、this、super關(guān)鍵字如何使用,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前名稱:Java中final、static、this、super關(guān)鍵字如何使用-創(chuàng)新互聯(lián)
文章源于:http://muchs.cn/article16/ddsddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、企業(yè)網(wǎng)站制作、企業(yè)建站、營銷型網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)