Java常用修饰词——修饰对象及意义总结

default

无修饰的 类、字段、方法 只允许在同一个包内进行访问。

public

public修饰的 类、字段、方法 允许跨类、跨包访问。

protected

protected修饰的 类、字段、方法 允许本身的方法及子类(包括跨包的子类)访问。

private

private修饰的 类、字段、方法 只能被该类的对象访问。子类不能访问,跨包不能访问。

static

注:不影响修饰对象的访问权限。

  • :内部类。
  • 方法:静态方法不依赖于任何对象就能进行访问,所以方法内只能使用静态变量及静态方法。
  • 字段(成员):静态成员被所有对象共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。静态成员的初始化顺序按照定义的顺序进行初始化。
  • 代码块:静态代码块可以出现在类的任何一个地方,在类初次加载的时候按顺序执行,且只执行一次。

final

注:和Java程序性能优化没有必然联系。

  • :final修饰的类不能被继承。
  • 方法:final修饰的方法不能被重写。
  • 变量:final修饰的基本数据类型的值不能被改变,修饰的对象的引用不能被改变,但是对象内部的属性可以被修改。用于保护只读数据。

abstract

注:可将子类封装为抽象内部类。

  • :抽象类是只能定义类型,不能产生对象的类。使用抽象类,必须有子类的出现。
  • 方法:在抽象类中只能声明,不能实现。出现抽象方法则类型一定是抽象类。抽象类的子类必须重写全部这些abstract方法。

synchronized

注:synchronized修饰对象可以保证在同一时刻只有一个线程访问。其他试图访问对象的线程将被堵塞。

  • 代码块:被修饰的代码块称为同步语句块,线程访问限制的对象是调用代码块的对象。
  • 方法:被修饰的方法称为同步方法,线程访问限制的对象是调用这个方法的对象;如果是static方法,线程访问限制的对象是这个类的所有对象。

native

  • 方法:说明Java调用非Java代码的接口。方法的实现由非Java语言实现。

volatile

详解:https://www.cnblogs.com/zhengbin/p/5654805.html

  • 变量:(可见性)volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。

未说明:strictfp、transient

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值