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

Java中的幾種關鍵字的使用小結

 更新時間:2023年06月28日 10:28:59   作者:小威要向諸佬學習呀  
本文主要介紹了Java中的幾種關鍵字的使用小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

Java中的this關鍵字

Java 中的 this 關鍵字是一個引用類型變量,用于表示當前對象的引用。當方法中需要調用當前對象的成員變量或成員方法時,可以使用 this 關鍵字。
在 Java 類中,實例變量和局部變量可能會有相同的名稱,因此使用 this 關鍵字可以區(qū)分它們。當代碼中出現(xiàn) this 關鍵字時,編譯器會優(yōu)先解析為實例變量,如果實例中不存在該變量,則解析為局部變量。

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

  • 在構造函數(shù)中調用其他的構造函數(shù):
    在類中定義多個構造函數(shù)時,可以使用 this 關鍵字來調用同一類中的其他構造函數(shù),以達到代碼重用的目的。如果在一個構造函數(shù)中調用另一個構造函數(shù),必須將 this() 作為構造函數(shù)的第一條語句使用。
  • 返回當前對象
    在某些情況下,需要返回當前對象,可以使用 this 關鍵字來實現(xiàn)。例如,在鏈式編程中,每個方法調用都需要返回當前對象,這樣可以使代碼更加簡潔明了。
  • 傳遞當前對象給其他方法或構造函數(shù)
    在調用其他方法或構造函數(shù)時,可以將當前對象作為參數(shù)傳遞給它們,以便其他方法或構造函數(shù)能夠訪問和操作當前對象。

Java中的super關鍵字

super 關鍵字用于訪問父類中的成員變量、成員方法和構造方法,在子類中使用 super 關鍵字可以引用父類的成員。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() 調用了父類中的方法并在子類中添加了自己的實現(xiàn)。

調用父類的構造方法

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 類調用了父類中的有參構造函數(shù),使用 super(10) 可以傳遞參數(shù)給父類的構造方法。
需要注意的是,super 關鍵字必須放在子類構造方法的第一行,而且只能使用一次。同時,如果子類沒有顯式地調用父類的構造函數(shù),Java 編譯器會隱式地插入一個父類默認構造函數(shù)的調用語句。

Java中的static關鍵字

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

下面我們來詳細介紹Java中static關鍵字的幾種用法:

靜態(tài)變量

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

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

靜態(tài)方法

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

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

靜態(tài)代碼塊

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

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關鍵字的三種常見應用,但是我們在使用的過程中還需要注意以下幾點:

  • 靜態(tài)方法只能訪問到類變量和其他靜態(tài)方法。
  • 非靜態(tài)方法可以訪問到類變量,非靜態(tài)變量,其他非靜態(tài)方法和靜態(tài)變量/方法。
  • Static方法不能以任何方式引用當前對象的實例。 不能在靜態(tài)方法內部使用this關鍵字,或者向它傳遞任何參數(shù)。

Java中的final關鍵字

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

1.final修飾類

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

final class Example {
    //....
}

2.final修飾方法

被final修飾的方法不能被子類重寫,也就是說,該方法已經是最終實現(xiàn)。與final類一樣,這種行為也能夠有效保護代碼的完整性和安全性。但需要注意的是,final方法并不一定要有方法體,因為它們可能只是一些接口規(guī)范。

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

3.final變量

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

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

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

到此這篇關于Java中的幾種關鍵字的使用小結的文章就介紹到這了,更多相關Java 關鍵字內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • SpringBoot+slf4j線程池全鏈路調用日志跟蹤問題及解決思路(二)

    SpringBoot+slf4j線程池全鏈路調用日志跟蹤問題及解決思路(二)

    本文主要給大家介紹如何實現(xiàn)子線程中的traceId日志跟蹤,本文通過封裝Callable為例給大家介紹的非常詳細,需要的朋友一起看看吧
    2021-05-05
  • 詳解Java中的Lambda表達式

    詳解Java中的Lambda表達式

    Lambda表達式是Java SE 8中一個重要的新特性。這篇文章主要介紹了Java中的Lambda表達式 ,需要的朋友可以參考下
    2019-04-04
  • Java AtomicInteger類使用方法實例講解

    Java AtomicInteger類使用方法實例講解

    這篇文章主要介紹了Java AtomicInteger類使用方法實例講解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot基于Mybatis攔截器和JSqlParser實現(xiàn)數(shù)據(jù)隔離

    SpringBoot基于Mybatis攔截器和JSqlParser實現(xiàn)數(shù)據(jù)隔離

    本文將介紹如何在 Spring Boot 項目中利用Mybatis的強大攔截器機制結合JSqlParser,一個功能豐富的 SQL 解析器,來輕松實現(xiàn)數(shù)據(jù)隔離的目標,本文根據(jù)示例展示如何根據(jù)當前的運行環(huán)境來實現(xiàn)數(shù)據(jù)隔離,需要的朋友可以參考下
    2024-04-04
  • Java 中的類和對象詳情

    Java 中的類和對象詳情

    這篇文章主要介紹了Java 中的類和對象,類可以看成是創(chuàng)建Java對象的模板,下面文章圍繞著Java 類與對象詳細內容展開,需要的朋友可以參考一下
    2021-11-11
  • jdk21下載、安裝詳細教程(Windows、Linux、macOS)

    jdk21下載、安裝詳細教程(Windows、Linux、macOS)

    本文介紹了OpenJDK 21的下載地址和安裝步驟,包括Windows、Linux和macOS平臺,下載后解壓并設置環(huán)境變量,最后驗證安裝,感興趣的朋友一起看看吧
    2025-03-03
  • 歸并排序的原理及java代碼實現(xiàn)

    歸并排序的原理及java代碼實現(xiàn)

    歸并(Merge)排序法是將兩個(或兩個以上)有序表合并成一個新的有序表,即把待排序序列分為若干個子序列,每個子序列是有序的。然后再把有序子序列合并為整體有序序列。遞歸形式的算法在形式上較簡潔,但實用性很差。一般情況下,很少利用二路歸并排序法進行內部排序。
    2016-02-02
  • AntDesign封裝全局異常處理全局攔截器

    AntDesign封裝全局異常處理全局攔截器

    這篇文章主要為大家介紹了AntDesign封裝全局異常處理全局攔截器,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • java實現(xiàn)TCP socket和UDP socket的實例

    java實現(xiàn)TCP socket和UDP socket的實例

    這篇文章主要介紹了本文主要介紹了java實現(xiàn)TCP socket和UDP socket的實例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Spring?Boot?打包成Jar包運行原理分析

    Spring?Boot?打包成Jar包運行原理分析

    這篇文章主要為大家介紹了Spring?Boot?打包成Jar包運行的原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09

最新評論

曲周县| 西和县| 荆州市| 临西县| 隆化县| 乌拉特前旗| 万盛区| 蒙山县| 百色市| 榆社县| 扶绥县| 托克托县| 甘谷县| 浪卡子县| 桐梓县| 五台县| 耒阳市| 琼结县| 池州市| 织金县| 青浦区| 双柏县| 漳浦县| 道孚县| 霍邱县| 靖西县| 宾川县| 德令哈市| 宜州市| 武定县| 武邑县| 巢湖市| 四川省| 称多县| 湟中县| 稷山县| 友谊县| 上栗县| 祁门县| 元阳县| 拉孜县|