JAVA修饰符小结修饰符使用列表:
如下图
一、 存储与生命周期的修饰符
Abstract:抽象抽象类不能被实例化,抽象方法必须被子类实现;一个抽象类必须包含一个以上的抽象方法;
Static:静态一般用作修饰变量、方法和内部类,让其独立于类对象,为此类共有一块的内存区。此内存会在JVM加载类的时候分配,并不会随类对象的释放而释放直到程序结束。
Volatile:不稳定的针对线程安全来说的,对于每一个变量,Java有个“主内存区域”,里面存放了变量目前的“准确值”,而每个线程的内存拥有变量的一个拷贝,所以某个时刻的某个线程中的变量值跟“主内存区域”的值可能不一样,就产生了线程安全问题。一个变量经Volatile修饰后在所有线程中是同步的,任何线程改变了“主内存区域”的变量值,相应就会更新到所有线程中。另:volatile只是在线程内存和“主”内存间同步某个变量的值,而synchronized通过锁定和解锁某个监视器同步所有变量的值。显然synchronized要比volatile消耗更多资源。
Transient:过渡的变量被此修饰符修饰后,在序列化的时候不会被保存到硬盘中。
Final:最终的修饰类代表此类不能有子类;修饰方法代表此方法无法覆盖;修饰变量代表此变量一旦初始化就不能更改,大大提高了性能。 二、 可访问修饰符
接口中的方法缺省都是Public和abstract的。
如下图
Native:本地的修饰的方法中可以使用其他语言实现。