【Java基础】java中常用关键字理解this、static、final、volatile理解
2017-04-06 11:29
766 查看
一、this关键字
this关键字只能在方法内部调用,表示对“调用方法的那个对象“的引用,用于在方法内部获取调用此方法类的引用。
在类的内部调用同一个类的其他方法不必使用this,直接调用即可,当前方法的this会自动应用于同一类中的其他方法。
二、static关键字
在了解this的情况下,我们知道static方法就是没有this的方法,static修饰的方法表示类方法,修饰的属性表示类属性。无论该类有多少对象,其static修饰的域始终只有一个。也就是static方法内部不能直接调用非static方法。
三、final关键字
final修饰方法,该方法不能被修改。
finnal修饰属性,该属性初始化之后不能被修改。
final修饰类,该类不能被继承,并且该类的中所有方法都隐式指定为final的。
四、volatile关键字
volatile涉及到并发编程的相关知识。简单来说被volatile修饰的关键字有以下的特性。
保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。
禁止进行指令重排序。
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基础_this,super,static,final关键字
- java基础知识要点总结之几个重要关键字(关于static、this、final、)
- java夯实基础系列:深入理解static、final关键字
- java基础9 main函数、this、static、super、final、instanceof 关键字
- JAVA基础--关键字 final 、static、this、super
- JAVA基础--关键字 final/static/this/super
- Java基础(12):关键字static和final
- 黑马程序员——Java基础语法 之面向对象(概念,特征,this,static关键字,代码块)
- Java关键字final、static、this、super使用总结
- Java中几个关键字 static final this super
- JAVA基础_简析Java中的new,this,super,final关键字
- java基础_final,static,volatile
- JAVA初学之this ,static , super 与final关键字
- Java基础之六:关键字this、super、static
- 【Java基础】static关键字的理解
- 理解Java中的final和static关键字
- Java中的this,final,static关键字
- JAVA基础——面向对象,final,this,static,代码块
- Java中的this、super、static和final关键字
- JAVA基础 final、static关键字的使用