
Java中的非访问控制修改符用于定义成员行为而不是访问权限。static用于创建类成员并由所有实例共享final表示不可变修改变量、方法和类别分别表示常量、不可重写和不可继承abstract用于定义抽象类和方法需要子类实现synchronized确保线程同步volatile确保变量可见性transient在序列化时忽略了字段native声明是由本地代码实现的。这些修改符不能随意组合如final和abstract互斥正确使用可以提高代码的安全性和效率。Java中的非访问控制修改符不用于控制类、方法或变量的访问权限而是用于定义其行为或特征。以下是常见的非访问控制修改符static 修饰符功能用于创建类变量和类方法属于类本身而不是实例。• 内存中只有一个静态变量由所有实例共享。 • 静态方法可以通过类名直接调用不能访问非静态成员。 • 初始化静态数据采用静态代码块。 final 修饰符功能表示“最终”不能改变。• 修饰变量值不能改变常量。 • 修饰方法被子类不能重写。 • 修饰类不能继承。 abstract 修饰符功能用于创建抽象和抽象方法。• 抽象类不能实例化通常包含一种或多种抽象方法。 • 抽象方法没有方法体必须在子类中实现。 synchronized 修饰符功能用于线程同步确保只有一个线程可以在同一时间执行该方法或代码块。Word-As-Image for Semantic Typography文字变形艺术字文字变形形象形象字• 可修改实例方法、静态方法和代码块。 • 主要用于多线程环境下的数据安全。 volatile 修饰符功能用于修改变量以确保变量的可见性。• 被 volatile 任何线程修改后其他线程都可以立即看到修改后的变量。 • 不保证原子性但避免线程从本地缓存读取过期值。 transient 修饰符功能在序列化过程中忽略某些字段。• 被 transient 修改后的变量不会序列化。 • 对象反序列化时该字段将使用默认值。 native 修饰符功能:表示方法由本地代码(如C//)(如C//C实现。• 方法没有方法体以分号结束。 • 常用于与操作系统交互或敏感性操作。基本上就是这些。这些修饰符不能随意组合使用例如 final 和 abstract 不能同时修改相同的类别或方法。理解它们的用途有助于写作更安全、更高效 Java 代码。