最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java面試必考的關(guān)鍵字的用法匯總

 更新時間:2023年06月08日 09:23:01   作者:小威要向諸佬學(xué)習(xí)呀  
這篇文章主要為大家詳細(xì)介紹了Java中的幾種關(guān)鍵字相關(guān)知識,本文比較適合剛?cè)肟覬ava的小白以及準(zhǔn)備秋招的大佬閱讀,需要的小伙伴快收藏起來吧

Java中的this關(guān)鍵字

Java 中的 this 關(guān)鍵字是一個引用類型變量,用于表示當(dāng)前對象的引用。當(dāng)方法中需要調(diào)用當(dāng)前對象的成員變量或成員方法時,可以使用 this 關(guān)鍵字。

在 Java 類中,實(shí)例變量和局部變量可能會有相同的名稱,因此使用 this 關(guān)鍵字可以區(qū)分它們。當(dāng)代碼中出現(xiàn) this 關(guān)鍵字時,編譯器會優(yōu)先解析為實(shí)例變量,如果實(shí)例中不存在該變量,則解析為局部變量。

除了用于區(qū)分變量之外,this 關(guān)鍵字還可以用于以下幾個方面:

1.在構(gòu)造函數(shù)中調(diào)用其他的構(gòu)造函數(shù):

在類中定義多個構(gòu)造函數(shù)時,可以使用 this 關(guān)鍵字來調(diào)用同一類中的其他構(gòu)造函數(shù),以達(dá)到代碼重用的目的。如果在一個構(gòu)造函數(shù)中調(diào)用另一個構(gòu)造函數(shù),必須將 this() 作為構(gòu)造函數(shù)的第一條語句使用。

2.返回當(dāng)前對象

在某些情況下,需要返回當(dāng)前對象,可以使用 this 關(guān)鍵字來實(shí)現(xiàn)。例如,在鏈?zhǔn)骄幊讨校總€方法調(diào)用都需要返回當(dāng)前對象,這樣可以使代碼更加簡潔明了。

3.傳遞當(dāng)前對象給其他方法或構(gòu)造函數(shù)

在調(diào)用其他方法或構(gòu)造函數(shù)時,可以將當(dāng)前對象作為參數(shù)傳遞給它們,以便其他方法或構(gòu)造函數(shù)能夠訪問和操作當(dāng)前對象。

Java中的super關(guān)鍵字

super 關(guān)鍵字用于訪問父類中的成員變量、成員方法和構(gòu)造方法,在子類中使用 super 關(guān)鍵字可以引用父類的成員。super 有以下幾種用法:

訪問父類的成員變量

public class Parent {
    public int x = 10;
}
public class Child extends Parent {
    public int x = 20;
    public void print() {
        System.out.println("Child x: " + x);
        System.out.println("Parent x: " + super.x);
    }
}
public static void main(String[] args) {
    Child child = new Child();
    child.print();
}

在上面的代碼中,Child 類繼承了 Parent 類,并聲明了一個同名的 x 變量。通過 super.x 可以訪問父類中的 x 值。

訪問父類的成員方法

public class Parent {
    public void hello() {
        System.out.println("Hello from parent");
    }
}
public class Child extends Parent {
    public void hello() {
        super.hello();
        System.out.println("Hello from child");
    }
}
public static void main(String[] args) {
    Child child = new Child();
    child.hello();
}

在上面的代碼中,Child 類重寫了 Parent 類的 hello() 方法,使用 super.hello() 調(diào)用了父類中的方法并在子類中添加了自己的實(shí)現(xiàn)。

調(diào)用父類的構(gòu)造方法

public class Parent {
    public Parent(int x) {
        System.out.println("Parent constructor with x = " + x);
    }
}
public class Child extends Parent {
    public Child() {
        super(10);
    }
}
public static void main(String[] args) {
    Child child = new Child();
}

在上面的代碼中,Child 類調(diào)用了父類中的有參構(gòu)造函數(shù),使用 super(10) 可以傳遞參數(shù)給父類的構(gòu)造方法。

需要注意的是,super 關(guān)鍵字必須放在子類構(gòu)造方法的第一行,而且只能使用一次。同時,如果子類沒有顯式地調(diào)用父類的構(gòu)造函數(shù),Java 編譯器會隱式地插入一個父類默認(rèn)構(gòu)造函數(shù)的調(diào)用語句。

Java中的static關(guān)鍵字

在Java中,static關(guān)鍵字可以用來修飾類的成員變量、方法和代碼塊。當(dāng)用Static修飾類的成員時,它代表這個成員屬于整個類,而不是某個對象實(shí)例。換句話說,無論創(chuàng)建多少個對象,靜態(tài)成員只會被創(chuàng)建一次并共享。

下面我們來詳細(xì)介紹Java中static關(guān)鍵字的幾種用法:

靜態(tài)變量

被static修飾的成員變量稱為靜態(tài)變量或者類變量。靜態(tài)變量存儲在靜態(tài)存儲區(qū),不屬于任何一個對象,僅在程序執(zhí)行期間存在一份內(nèi)存。除非顯式地對它賦值,否則它默認(rèn)被初始化為0或null。

public class Example {
    static int age;
    public static void main(String[] args){
        System.out.println(age);    //輸出0
    }
}

靜態(tài)方法

被static修飾的方法稱為靜態(tài)方法或類方法。它們被設(shè)計(jì)成僅與類本身有關(guān)聯(lián)。靜態(tài)方法中不能使用this和super關(guān)鍵字,因?yàn)樗鼈兌寂c具體的對象相關(guān)。既然靜態(tài)方法不依賴于對象,所以它可以在沒有任何實(shí)例的情況下被調(diào)用。

public class Example {
    public static void show(){
        System.out.println("This is a static method");
    }
    public static void main(String[] args){
        Example.show(); //無需實(shí)例化就可以調(diào)用Static方法
    }
}

靜態(tài)代碼塊

靜態(tài)代碼塊稱為類初始化塊,在類被加載時自動執(zhí)行。它們僅能訪問靜態(tài)成員并支持使用static關(guān)鍵字來聲明變量和方法。

public class Example {
    static{
        System.out.println("This is a Static Block");
    }
    public static void main(String[] args){
        System.out.println("Main method Executed..");
    }
}

上面是Java中對Static關(guān)鍵字的三種常見應(yīng)用,但是我們在使用的過程中還需要注意以下幾點(diǎn):

靜態(tài)方法只能訪問到類變量和其他靜態(tài)方法。

非靜態(tài)方法可以訪問到類變量,非靜態(tài)變量,其他非靜態(tài)方法和靜態(tài)變量/方法。

Static方法不能以任何方式引用當(dāng)前對象的實(shí)例。 不能在靜態(tài)方法內(nèi)部使用this關(guān)鍵字,或者向它傳遞任何參數(shù)。

Java中的final關(guān)鍵字

在Java中,final關(guān)鍵字可以用來修飾類、方法以及變量。它表示其修飾的內(nèi)容不可改變,對于類、方法和變量分別有不同的含義:

1.final修飾類

被final修飾的類不能被繼承,即該類不允許有子類。通常情況下使用final類是為了防止子類修改父類的行為,從而確保類的安全性和一致性。例如,在Java Collection Framework中的很多類都被聲明為final。

final class Example {
    //....
}

2.final修飾方法

被final修飾的方法不能被子類重寫,也就是說,該方法已經(jīng)是最終實(shí)現(xiàn)。與final類一樣,這種行為也能夠有效保護(hù)代碼的完整性和安全性。但需要注意的是,final方法并不一定要有方法體,因?yàn)樗鼈兛赡苤皇且恍┙涌谝?guī)范。

class Example {
    public final void show(){
        System.out.println("This method is final and can't be overriden");
    }
}

3.final變量

被final修飾的變量稱為常量,其賦值后不能再被修改。常量可以在運(yùn)行時初始化,也可以在編譯時通過直接賦值或構(gòu)造函數(shù)進(jìn)行初始化。Java開發(fā)人員通常將常量用于在程序中使用固定的數(shù)值或字符串。傳統(tǒng)上我們推薦使用大寫字母來表示常量。

final int AGE = 20;
final String NAME = "Xiaowei";

我們需要注意,當(dāng)final變量引用一個對象時,只是意味著該變量不能在執(zhí)行期間重新指向另一個對象,而并不阻止對象本身的狀態(tài)被修改。

以上就是Java面試必考的關(guān)鍵字的用法匯總的詳細(xì)內(nèi)容,更多關(guān)于Java關(guān)鍵字的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mybatis-Plus或PageHelper多表分頁查詢總條數(shù)不對問題的解決方法

    Mybatis-Plus或PageHelper多表分頁查詢總條數(shù)不對問題的解決方法

    PageHelper 這個插件用了很多次了,今天使用的時候才遇到一個問題,這篇文章主要給大家介紹了關(guān)于Mybatis-Plus或PageHelper多表分頁查詢總條數(shù)不對問題的解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Java實(shí)現(xiàn)權(quán)重隨機(jī)算法詳解

    Java實(shí)現(xiàn)權(quán)重隨機(jī)算法詳解

    平時,經(jīng)常會遇到權(quán)重隨機(jī)算法,從不同權(quán)重的N個元素中隨機(jī)選擇一個,并使得總體選擇結(jié)果是按照權(quán)重分布的。本文就詳細(xì)來介紹如何實(shí)現(xiàn),感興趣的可以了解一下
    2021-07-07
  • SpringBoot部署xxl-job方法詳細(xì)講解

    SpringBoot部署xxl-job方法詳細(xì)講解

    XXL-JOB是一個分布式任務(wù)調(diào)度平臺,其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴(kuò)展,這篇文章主要介紹了springboot整合xxl-job流程,需要的朋友可以參考下
    2023-01-01
  • Springboot如何使用YML文件配置多環(huán)境

    Springboot如何使用YML文件配置多環(huán)境

    這篇文章主要介紹了Springboot如何使用YML文件配置多環(huán)境問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 一文徹底弄懂spring?boot自動配置的過程(推薦)

    一文徹底弄懂spring?boot自動配置的過程(推薦)

    SpringBoot的自動配置機(jī)制通過@SpringBootApplication注解作為起點(diǎn),結(jié)合@EnableAutoConfiguration和spring.factories文件,實(shí)現(xiàn)了基于類路徑依賴、環(huán)境配置和自定義代碼的智能化配置,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • 關(guān)于Java內(nèi)存訪問重排序的研究

    關(guān)于Java內(nèi)存訪問重排序的研究

    文章主要介紹了重排序現(xiàn)象及其在多線程編程中的影響,包括內(nèi)存可見性問題和Java內(nèi)存模型中對重排序的規(guī)則
    2025-01-01
  • java 內(nèi)嵌Groovy動態(tài)腳本操作

    java 內(nèi)嵌Groovy動態(tài)腳本操作

    這篇文章主要介紹了java 內(nèi)嵌Groovy動態(tài)腳本操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java實(shí)現(xiàn)注冊郵箱激活賬戶實(shí)例代碼

    Java實(shí)現(xiàn)注冊郵箱激活賬戶實(shí)例代碼

    本篇文章主要介紹了Java實(shí)現(xiàn)郵箱激活賬戶實(shí)例代碼,這里整理了詳細(xì)的代碼,具有一定的參考價值,有需要的小伙伴可以參考下。
    2017-07-07
  • Springboot集成graylog及配置過程解析

    Springboot集成graylog及配置過程解析

    這篇文章主要介紹了Springboot集成graylog及配置過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • 通過JDK源碼分析關(guān)閉鉤子詳解

    通過JDK源碼分析關(guān)閉鉤子詳解

    一個簡單的關(guān)閉鉤子,程序被中斷或者正常退出時會顯示 hook shutdown!非常的優(yōu)雅,有效,巧妙。那么這篇文章就來給大家介紹關(guān)于通過JDK源碼分析關(guān)閉鉤子的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒。
    2017-11-11

最新評論

榆中县| 康定县| 明水县| 正镶白旗| 天长市| 仁布县| 兰西县| 宝鸡市| 专栏| 军事| 鄂伦春自治旗| 马尔康县| 仪征市| 买车| 湘潭市| 忻城县| 崇明县| 扎囊县| 静宁县| 文安县| 汤阴县| 商南县| 建平县| 黄骅市| 郴州市| 普定县| 博客| 沭阳县| 象山县| 永宁县| 大港区| 九龙城区| 辽宁省| 渭南市| 甘孜县| 营山县| 东平县| 报价| 南阳市| 方城县| 读书|