在java中,修饰符有权限修饰符和特征修饰符两大类
权限修饰符:
- public 公共的 在程序的任何地方都能访问
- protected 受保护的 只能在当前类和派生类(通过继承得到的类)访问
- private 私有的 只能在当前类访问
- 默认不写 默认的 只能在当前包访问
特征修饰符:
-
final 最终的 不可修改的
final修饰的类不可以继承;
final修饰的属性(若定义时给力缺省值则不能被再次赋值,若变量在定义时没给初始值 给一次赋值的机会);
final修饰的方法不能被子类重写. -
static 静态的 在类加载的时候就已经初始化 此时对象还不存在
静态元素存储在静态元素区,每个类都有自己的独立区域 彼此不干扰
静态元素只加载一次 全部类的对象和类本身共享
静态元素区GC(garbage Collection)无法管理 是常驻内存
静态方法不能访问非静态方法,静态元素中不能出现this和super关键子 -
native 本地的
Java源代码中看到native就已经再也看不到后续代码了
后续会调用其他编程语言去执行内存操作 -
abstract 抽象的
没有具体的执行,只是一个概念
用abstract修饰的方法没有方法体只有方法结构,叫做抽象方法
抽象方法所在的类也必须用abstract来修饰,叫做抽象类
抽象方法也可以放在接口中。
具体类不能直接继承抽象类
一个抽象类的方法全部都是抽象方法---->接口 -
transient 瞬时的 短暂的----->序列化
-
synchronized 同步的 线程安全相关的知识部分
-
volatile 不稳定的 线程安全相关的知识部分