Java修饰符总结

Java修饰符总结Java 修饰符下表列出所有 Java 修饰符 并说明了各自能修饰的 Java 结构种类和作用修饰符用于意义 abstract 类接口方法这个类不能被实例化 而且可能包含未实现的方法所有接口都是抽象的 声明接口时这个修饰符是可选的这个方法没有主体 主体由子类提供 签名后面是一个分号 所在的类必须也是抽象的 default 方法这个接口方法的实现是可选的

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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225392.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午9:26
下一篇 2026年3月17日 上午9:26


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号