您的位置:首页 > 编程语言 > Java开发

【Java基础】java中常用关键字理解this、static、final、volatile理解

2017-04-06 11:29 766 查看
一、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修饰的关键字有以下的特性。

保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。
禁止进行指令重排序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java static final volatile this