Java 中的访问修饰符和非访问修饰符有什么区别?

javaobject oriented programmingprogramming更新于 2024/7/27 2:35:00

访问修饰符

访问修饰符是用于控制类、变量、方法和构造函数的访问级别的关键字。

Java 中有四个访问修饰符。

  • 默认

    当未指定访问修饰符时,java 被视为默认修饰符。默认修饰符的作用域仅限于包内。
  • Public

    public 修饰符的作用域是访问包内任何地方,甚至包外。
  • Private

    private 修饰符的作用域是访问类本身。
  • Protected

    protected 修饰符的作用域仅限于包和所有子类。

非访问修饰符

非访问修饰符是那些与访问级别无关的关键字,但在指定时提供特殊功能。

  • Final

    Final 关键字可用于变量、方法或类。它可以防止其内容被修改。当使用类声明时,它会阻止类被扩展。
  • Static

    static 修饰符用于类变量和方法,这些变量和方法无需类实例即可访问。静态变量只有单一存储空间。所有对象共享静态变量的单一存储空间。它们无需任何对象即可直接访问。也可以声明静态方法。main() 方法是常用的静态方法。还可以声明静态块,并在 main() 方法之前执行。
  • Abstract

    abstract 可以与类和方法一起使用。抽象类永远无法实例化,其目的只是为了扩展。抽象方法声明时没有主体,以分号结尾。如果类包含抽象方法,也应将其指定为 abstract。扩展抽象类的类必须实现其所有抽象方法。
  • Synchronized

    表示该方法一次只能由一个线程访问。
  • Transient

    实例变量被标记为瞬态,以指示 JVM 在序列化包含该变量的对象时跳过该特定变量。
  • Volatile

    Volatile 关键字用于将 Java 变量标记为"存储在主内存中"。这意味着每次读取 volatile 变量都将从计算机的主内存中读取,而不是从 CPU 缓存中读取,并且写入 volatile 变量将写入主内存而不仅仅是 CPU 缓存。
  • Strictfp

    java 中的 Strictfp 关键字可确保您在浮点变量中执行操作时在每个平台上都获得相同的结果。

相关文章