java修饰符的区别(java修饰符和关键字的区别)

Java修饰符的定义

Java中的修饰符是用来控制类、方法或变量的访问权限和行为的关键字。使用修饰符,可以为类、方法、构造函数、变量等增加额外的含义和功能。在 Java 中,共有两类修饰符:

  • 访问修饰符(public,protected,private等)
  • 非访问修饰符(static,abstract,final等)

访问修饰符

访问修饰符是用来控制类、变量、方法的访问权限的关键字。

  • public:公共的,在任何位置都能访问到。
  • protected:受保护的,同包和不同包子类可以访问。
  • 默认的(不写):包访问权限,同包下可以访问。
  • private:私有的,只有本类可以访问。

应用场景:

  • public:用于类、方法、所有字段。应用于公共代码API的编写。如果不向其他人公开访问某字段,最好将其声明为private。
  • protected:不能使用于类,用于方法和圆形。应用于需要使用某字段的子类。
  • default:不能使用于类,用于管辖类型和成员。在大多数情况下,这是最合适的访问级别,因为它为您的包提供了封闭性。
  • private:不能使用于类,适用于字段和方法。适用于封装和信息隐藏的情况。这些字段或方法只能从它们所属的对象访问。

非访问修饰符

非访问修饰符是用来设置类、方法或变量的其他属性的关键字。

  • static:静态修饰符表示静态类成员,属于类而不属于任何实例,可以通过类名.成员变量的方式访问,没有static修饰符的为动态类成员变量属于实例
  • final:最终修饰符表示不可更改的常量值。一旦被初始化,它们就不能被更改。
  • abstract:抽象修饰符表示方法或类是抽象的,不能被直接实例化。方法只有函数头,没有函数体。
  • synchronized:同步修饰符用于保护代码块或方法,确保同一时间只有一个线程访问它。
  • transient:瞬态修饰符指出不应将类的某个变量持久保存在磁盘上,如果将变量声明为transient,那么它的值将在程序执行后不再可用。
  • volatile:易失修饰符用来保证并发访问时变量值的可见性,这个变量被修饰为volatile后,读取它的值时会直接从内存中读取。

应用场景:

static:通常用于常量或与类操作有关的方法。常量可以作为程序中常见的固定值来使用。可静态方法无法使用非静态类成员变量,但可以使用静态成员变量。

java修饰符的区别(java修饰符和关键字的区别)

final:通常用于变量和类,保证变量不发生更改。还可以用于阻止子类重写类中的方法,以避免意外地更改类的实现。

abstract:通常用于抽象类和方法,不能直接实例化,必须通过继承具体的子类来实现。

synchronized:通常用于关键类方法的代码中,以确保并发访问时同步代码块唯一,防止多个线程同时访问代码块,可能导致数据不一致。

transient:通常用于网络编程中,可以防止对象属性在传输过程中被保存到磁盘上。

volatile:通常用于多线程数据共享的情况下,以确保变量在多个线程之间的可见性。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javapeixunyv6.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月25日 上午1:55
下一篇 2023年4月25日 上午1:55

猜你喜欢