Loading... [![修饰符适用范围](https://static.sitestack.cn/projects/sdky-java-note/57686dd161ac811168d3eccbd278a411.jpeg) ](https://sdky.gitee.io/img/修饰符适用范围.jpg) # 访问权限修饰符 - 用于控制一个类的**成员**是否可以在其它类中**访问**,不能修饰局部变量 [ ![访问权限修饰符](https://static.sitestack.cn/projects/sdky-java-note/aa405519b878117576c6190a54abedea.png) ](https://sdky.gitee.io/img/访问权限修饰符.png) 图 2 访问权限修饰符 - `private`(当前类访问权限):在同一类内可见,只能被所属类访问 - ` `(包访问权限):不使用任何修饰符时,在同一包内可见 - `protected`(子类访问权限):对同一包内的任何其它类和不同包中的子类可见,不能修饰接口中的成员变量和成员方法(注意:在**不同包中的子类**只能通过**该子类**访问父类中 `protected` 成员,通过其它子类或父类都无法访问) - `public`(公共访问权限):对所有类可见 # 非访问修饰符 - `static` 用来创建类方法和类变量,类方法**不能访问**的实例变量 - `final` 用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,不可修改 - `abstract` 用来创建抽象类、抽象方法 - `synchronized` 修饰的方法、代码块在同一时间只能被一个线程访问,不能修饰构造器、成员变量等 - `volatile` 修饰的**成员变量**在**每次**被线程访问时,都强迫从**共享内存**中重读该成员变量的值;并且,当成员变量发生变化时,强迫线程将变化值回写到共享内存(保证了线程操作时变量的**可见性**,即一个线程修改了某个变量的值,这新值对其它线程来说是立即可见的)(只能保证内存可见性,无法保证操作的原子性) - `transient` 序列化的对象包含被 transient 修饰的实例变量时,JVM 跳过该特定的变量 - `native` 修饰的方法通常采用 C/C++ 语言来实现 ## volatile 的实现原理 - 如果对声明了 volatile 变量进行写操作,JVM 就会向处理器发送一条 Lock 前缀的指令,将这个变量所在缓存行的数据写回到内存,这个写回内存的操作会引起在其它 CPU 里缓存了该内存地址的数据无效 - 缓存一致性协议(如 Intel 的 MESI 协议):每个处理器通过嗅探在总线上传播的数据来检查自己缓存的值是不是过期了,当处理器发现自己缓存行对应的内存地址被修改,就会将当前处理器的缓存行设置成无效状态,当处理器要对这个数据进行修改操作的时候,会强制重新从系统内存里把数据读到处理器缓存里 # final 修饰符 ## final 修饰的类 - 表示最终的类,**不可被继承的类** - java 里 `final` 修饰的类有很多,比如八大基本数据类型包装类和 String 类,也是不可变类(当创建它们的实例后,其实例的实例变量不可改变) ## final 修饰的方法 - 最终的方法,该方法子类可以调用,但**不允许被子类覆盖** - 构造方法不能使用 `final` 修饰 ## final 修饰的变量 - 最终的变量,常量,该变量**只能被赋值一次** - `final` 修饰的**成员变量**必须**显式**指定初始值(定义时、初始化块或构造器中指定),系统不会为 final 字段初始化;**静态常量**的单词**全部大写**,单词间使用下划线隔开 `final int MAX_VALUE = …;` - `final` 是唯一可以修饰局部变量的修饰符 - `final` 修饰基本类型的变量,表示该变量不能被重新赋值 - `final` 修饰引用类型的变量,表示该变量**所引用的地址**不能变,而所引用对象的内容可以改变 - 可执行“宏替换”的 final 变量:当定义 final 变量时就为该变量**指定了初始值**,编译器会把程序中所有用到该变量的地方直接替换成该变量的值(在编译阶段能确定的内容只能来自于**常量池**中) 最后修改:2022 年 07 月 30 日 © 允许规范转载 打赏 赞赏作者 赞 如果觉得我的文章对你有用,请随意赞赏
4 条评论
《一个温州的女人》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/93493.html
《退休返聘之一鸣惊人》短片剧高清在线免费观看:https://www.jgz518.com/xingkong/161389.html
《退休返聘之一鸣惊人》短片剧高清在线免费观看:https://www.jgz518.com/xingkong/161389.html
《天与地1993》动作片高清在线免费观看:https://www.jgz518.com/xingkong/64262.html