脉金捷脉金捷
主页
  • VuePress
  • VuePress2
  • Markdown基础命令
  • Java特性
  • Java修饰符
  • Java常见问题
  • Java LocalDate
  • Java Cloud ID
  • Docker-CentOS8
  • Docker-Nginx
  • Docker-Redis
  • Docker-MySQL
  • Docker-Nacos
  • Docker-Seata
  • Docker-Nodejs
  • Docker-runlike
  • Docker基础命令
  • Linux基础软件
  • Linux-SSH登录
  • Linux防火墙-iptables
  • Linux系统目录
主页
  • VuePress
  • VuePress2
  • Markdown基础命令
  • Java特性
  • Java修饰符
  • Java常见问题
  • Java LocalDate
  • Java Cloud ID
  • Docker-CentOS8
  • Docker-Nginx
  • Docker-Redis
  • Docker-MySQL
  • Docker-Nacos
  • Docker-Seata
  • Docker-Nodejs
  • Docker-runlike
  • Docker基础命令
  • Linux基础软件
  • Linux-SSH登录
  • Linux防火墙-iptables
  • Linux系统目录
  • Java特性
  • Java修饰符
  • Java常见问题
  • Java LocalDate
  • Java Cloud ID

Java 修饰符

Java 中的修饰符是用来修改类、方法、变量、构造函数等程序元素的特性的关键字。它们可以用来控制访问权限、继承性、多态性等方面的行为。

访问修饰符(Access modifiers)

访问修饰符用于控制类、接口、变量、方法的作用范围。

  • private:私有访问级别,只能在该类内部访问。
  • default:默认访问级别,只能被该类、同包类访问。
  • protected:受保护的访问级别,只能被同包类或该类的子类访问。****
  • public:公共访问级别,可被其他类访问。
修饰符修饰对象本类同包类不同包子类其他
private变量、方法✓✗✗✗
default类、接口、变量、方法✓✓✗✗
protected变量、方法✓✓✓✗
public类、接口、变量、方法✓✓✓✓

继承修饰符(Inheritance modifiers)

Java中的继承修饰符用来控制子类对父类成员变量的方法的继承行为。Java提供了两个继承修饰符:final 和 abstract 。

  • final:表示该类或成员变量或方法,不能被继承或覆盖。
  • abstract:表示该类或方法只提供接口定义,没有实现。其实现需要子类继承实现。

其他修饰符(Other modifiers)

除了访问修饰符和继承修饰符外,Java还有一些其他的修饰符,包括 static, synchronized, volatile 和 transient 。

  • static:表示成员变量或方法属于类本身,而不是属于类的任何一个实例。可以通过类名直接访问静态成员变量或方法,而不需要创建类的实例。
  • synchronized:用于多线程编程,表示一个方法或代码块只能被一个线程执行。它可以用来解决多线程并发访问共享资源的问题。
  • volatile:用于多线程编程,表示一个变量是共享的,可以被多个线程访问和修改。它可以用来保证多线程之间对变量的可见性和有序性。
  • transient:用于序列化,表示一个成员变量不需要被序列化。当一个对象被序列化成字节流时, transient 修饰的成员变量会被忽略,不会被写入字节流中。
Last Updated: 2/19/24, 11:43 PM
Contributors: maijinjie, jieshu