Java修饰符总结

Java修饰符

下表列出所有Java修饰符,并说明了各自能修饰的Java结构种类和作用

修饰符用于意义

abstract

接口
方法
这个类不能被实例化,而且可能包含未实现的方法 
所有接口都是抽象的。声明接口时这个修饰符是可选的 
这个方法没有主体,主体由子类提供。签名后面是一个分号。
所在的类必须也是抽象的。
default方法这个接口方法的实现是可选的。接口为不想实现这个方法的类
提供了一个默认实现。
final类 
方法 
字段 
变量 
不能创建这个方法的子类 
不能覆盖这个方法 
这个字段的值不能改变。static final 修饰的字段是编译时常量 
值不能改变的局部变量、方法参数或异常参数
native方法这个方法使用某种与平台无关的方式实现(经常用C语言)没有提
供主体,签名后面是一个分号
无(包)类 
接口 
成员
没声明为public的类只能在包中访问 
没声明为public的接口只能在包中访问 
没声明为private、protected或public的成员具有包可见性,
只能在包中访问
private成员这个成员只在定义它的类中可以访问
protected成员这个成员只在定义它的包中和子类中可以访问
public类 
接口 
成员 
能访问所在包的地方都可以访问这个类 
能访问所在包的地方都可以访问这个接口 
能访问所在类的地方都可以访问这个成员
strictfp类 
方法
这个类的所有方法都隐式声明为strictfp
这个方法必须使用严格遵循IEEE 754标准的方法执行浮点运算。
具体而言,所有数值,包含中间结果,都要使用IEEE float或
double类型表示,而且不能利用本地平台浮点格式或硬件提供
的额外精度或取值范围。这个修饰符极少使用。
static类 
方法 
字段 

初始化
程序
使用static声明的内部类是顶层类,而不是所在类的成员。
static方法是类方法。不隐式传入this对象引用。可通过类名调用
static字段是类字段。不管创建多少类实例,这个字段只有
一个实例,可通过类名访问。
这个初始化程序在类加载时运行,而不是创建实例时运行。
synchronized方法这个方法对类或实例执行非原子操作,所以必须小心,确保不能
让两个线程同时修改类或实例。对于static方法而言,执行方法
之前先为类获取一个锁。对于非static方法而言,会为具体的对
象实例获取一个锁。
transient字段这个字段不是对象持久化状态的一部分,因此不会随对象一起
序列化。在对象序列化时使用,参见
java.io.ObjectOutputStream
volatile字段这个字段能被异步线程访问,因此必须对其做些特定的优化。
这个修饰符有时可以代替synchronized
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值