java 常见关键字

1.static 作用
  • static 修饰变量 静态变量,在内存中只有一次拷贝(节省内存)。实例变量 每建一次,会有一个新的拷贝(多个拷贝,灵活)
  • static 修饰方法 静态方法,可以类名.方法调用 ,不能使用this 和super
static 方法,只能不能访问成员方法访问静态变量和静态方法
static 方法必须被实现,不能abstract
  • static 代码块 也叫静态代码块
修改静太成员变量
JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次
static 与final 一起联合使用 全局常量
static final 修饰的变量 一旦给值 不可更改
修饰的方法 不可覆盖
  • static 静态内部类
内部类上加static关键字
在非静态内部类不能使用静态成员和方法,只有静态内部类能够才能够定义静态成员变量和静态成员方法
静态内部类访问外部数据,不需要依赖外部类
static 静态导入
import static

2.final

final 修饰的变量不能被修改
final 修饰的方法只能不继承不能重写
final 修饰的类不能继承

3. volatile
volatile 修饰成员变量,保证各个线程之间读取的成员变量值一致
线程读取成员变量的值,每次都从主内存中读取成员变量的值,当成员变量有修改时,强迫将变化值写回到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值,效率较低

4.transient
transient 关键字只能修饰变量,不能修饰方法和类
被transient 修饰的变量不能被序列化,一个静态变量,不管是被transient 修饰,均不能序列化
一旦变量transient修饰,变量将不再是持久化的一部分,该变量序列化后无法获得访问

你可能感兴趣的:(java)