【Java基礎】java中常用關鍵字理解this、static、final、volatile理解

一、this關鍵字

this關鍵字只能在方法內部調用,表示對“調用方法的那個對象“的引用,用於在方法內部獲取調用此方法類的引用。

類的內部調用同一個類的其他方法不必使用this,直接調用即可,當前方法的this會自動應用於同一類中的其他方法。

class A{
    public void print(){
        System.out.println(this.getClass()+" print method");
    }
    public void printAgain(){
        print();
    }
}

class B{
    public void print(){
        System.out.println(this.getClass()+" print method");
    }
    public void printAgain(){
        this.print();
    }
}

public class This {
    public static void main(String[] args) {
        A a = new A();
        B b = new B();
        a.printAgain();
        b.printAgain();
    }

}

二、static關鍵字

在瞭解this的情況下,我們知道static方法就是沒有this的方法,static修飾的方法表示類方法,修飾的屬性表示類屬性。無論該類有多少對象,其static修飾的域始終只有一個。也就是static方法內部不能直接調用非static方法。

public class B{
    public void print(){
        System.out.println(this.getClass()+" print method");
    }
    public void printAgain(){
        this.print();
    }
    public static void laugh(){
        this.print();  // 編譯器報錯,static方法沒有this
    }
}

三、final關鍵字

final修飾方法,該方法不能被修改。
finnal修飾屬性,該屬性初始化之後不能被修改。
final修飾類,該類不能被繼承,並且該類的中所有方法都隱式指定爲final的。

四、volatile關鍵字

volatile涉及到併發編程的相關知識。簡單來說被volatile修飾的關鍵字有以下的特性。
  1. 保證了不同線程對這個變量進行操作時的可見性,即一個線程修改了某個變量的值,這新值對其他線程來說是立即可見的。
  2. 禁止進行指令重排序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章