一、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關鍵字
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關鍵字
四、volatile關鍵字
- 保證了不同線程對這個變量進行操作時的可見性,即一個線程修改了某個變量的值,這新值對其他線程來說是立即可見的。
- 禁止進行指令重排序。