当前位置: 首页 > news >正文

Java中,方法/类的修饰符的书写位置

一.书写顺序(含类、方法、字段)

在Java中,方法的修饰符和返回类型的书写顺序是有规定的

如main方法中,正确且标准的写法是:

public static void main(String[] args){ ... }

这是Java社区、官方文档、IDE(如Intellij IDEA、Eclipse)默认生成的写法,也是最清晰、最广泛接受的顺序

其他合法的写法(语法上正确,但不推荐)

Java允许public和static交换顺序,因为它们属于不同类别的修饰符

如:

static public void main(String[] args) // 语法上正确但不推荐这样书写

根据Java语言规范(Chapter 8. Classeshttps://docs.oracle.com/javase/specs/jls/se17/html/jls-8.html?spm=5176.28103460.0.0.49d17551ApEHpJ#jls-8.4.3

方法的修饰符顺序是任意的,只要:

  • 访问修饰符最多能有一个(public / protected / private)
  • 非访问修饰符(如static、final、等)可以有多个
  • 返回类型(如void)必须在方法名之前,必须紧挨方法名,不能在修饰符和方法名中间
[访问修饰符] [非访问修饰符] 返回类型 方法名()

其中[]表示可以有也可以没有

这是业界普通约定俗成的书写顺序

类的书写顺序为:

[访问修饰符] [非访问修饰符] class ClassName [extends ...] [implements ...]

如:

public final class StringUtils implements Serializable, Cloneable

而下面这种写法合法但不推荐:

final public class StringUtils implements Serializable // ❌ 顺序混乱

字段(Filed/成员变量)的书写顺序:

[访问修饰符] [非访问修饰符] 类型 变量名 [= 初始值];

总结:

场景规则
访问修饰符只能写一个:publicprotectedprivate或默认(不写)
implements/extends写在类名之后,不属于修饰符,所以不在修饰符顺序中
格式:class A extends B implements C, D
interface是关键字,不是修饰符。定义接口时用:
public interface MyInterface
void/ 返回类型必须紧挨着方法名之前,不能放在修饰符中间
非法组合private abstract method()❌(abstract方法必须被子类实现,不能私有)
static abstract method()❌(Java 8 前不允许;Java 8+ 的static方法不能是abstract

二.Java中的非访问修饰符

在 Java 中,非访问修饰符(Non-Access Modifiers)是用于定义类、方法、变量等的行为、生命周期或特殊语义的关键字,它们不控制访问权限(那是public/protected/private的职责),而是提供额外的功能特性

修饰符可用于作用说明
static类、方法、字段、代码块、嵌套类表示属于类本身,而非实例;可直接通过类名访问
final类、方法、字段、局部变量表示“不可变”:类不能被继承,方法不能被重写,变量值不能更改
abstract类、方法抽象类(不能实例化)、抽象方法(无实现,必须由子类实现)
synchronized方法、代码块保证线程安全,同一时间只有一个线程可执行该方法/代码块
volatile字段保证多线程下变量的可见性(每次读都从主存取,不缓存)
transient字段标记字段不参与序列化(如密码字段)
native方法表示方法由本地代码(如 C/C++)实现,通常通过 JNI 调用
strictfp类、方法保证浮点运算在不同平台结果一致(IEEE 754 标准

注意:某些修饰符有使用限制(如abstract不能和final共存)

组合是否合法说明
abstract+final抽象要被继承,final 禁止继承 → 矛盾
abstract+static❌(方法)抽象方法需被重写,static 方法不能被重写
abstract+private❌(方法)private 方法无法被子类访问,无法实现抽象
final+static常量(如public static final int MAX = 100;
synchronized+static锁的是类对象(Class.class
native+abstractnative 有外部实现,abstract 无实现 → 冲突
http://www.jsqmd.com/news/338247/

相关文章:

  • 2026年落地式篮球架厂家推荐:壁挂式篮球架/悬空式篮球架厂家精选 - 品牌推荐官
  • 2026年海光计算产品厂家推荐:北京集特智能科技有限公司,海光3450台式机/海光工控机/海光5380服务器等全系供应,适配政务办公、智能制造与数据中心多场景 - 品牌推荐官
  • 【必藏干货】AI Agent智能体架构设计全攻略:从理论到实战,构建企业级解决方案
  • 电脑提示msvcp140.dll缺失/报错?2026最新解决方法,小白也能1分钟搞定! - PC修复电脑医生
  • iPhone 13 Pro 深度解析:配色外观|核心参数|ProMotion 屏幕|影像与视频|续航与充电|官方维修手册要点|二手验机避坑清单(图文版)
  • “新”意十足 · HarmonyOS模板组件(本次上新:面包屑、验证码、超链接、签名、水印等组件)
  • 2026年昆山良机冷却塔厂家权威推荐榜:冷却塔改造/昆山良机冷却塔/常州良机冷却塔/方型冷却塔/良机冷却塔厂家/选择指南 - 优质品牌商家
  • iPhone 12 Pro 深度解析:配色外观|核心参数|摄影/视频|续航与MagSafe|维修手册要点|二手验机避坑清单(图文版)
  • 智慧城市、能源等优质学术会议分享!
  • 2026苏州婚纱摄影机构推荐:华纳婚纱摄影与姑苏区星纳摄影店,专业拍摄与礼服全解析 - 品牌推荐官
  • 一张图看懂网络空间安全:从网络层到应用层的“防护圈”都有哪些?
  • 2026年geo推广服务推荐:上海俐麸信息科技,本地geo/优化/AIgeo推广全链路解决方案 - 品牌推荐官
  • iPhone 12 深度解析:配色外观|核心参数|MagSafe/充电续航|维修手册要点|二手验机避坑清单(图文版)
  • MySQL 分库分表
  • 2026年展览展台搭建厂家推荐:重庆觉觅文化传播有限公司,展览制作/活动搭建一站式服务 - 品牌推荐官
  • 家用空气能取暖哪个牌子好?关键看这4 大核心要点! - 资讯焦点
  • 别再当“社会NPC”:Human 3.0 时代的 5 个颠覆性进化指南
  • linux设置永久制表符宽度
  • 使用arc_unpack解包exe教程
  • 2026陕西同城搬家服务指南:如何识别规范企业?五家参考案例解析 - 深度智识库
  • 你的模型真的“学”会了吗?微调效果评估实战指南
  • 2026年智能照明领域实力推荐:东莞商宝照明技术有限公司引领轻智能照明新风尚 - 品牌推荐官
  • Arcgis二次开发--评价单元综合限制级别判断矩阵工具
  • 2026苏州婚纱摄影实力推荐:茜茜公主婚纱摄影,礼服/拍摄/工作室/基地一站式体验 - 品牌推荐官
  • CTF从零到一:新手必备工具合集与下载方式,一键直达!
  • 2026年暖气片/明装暖气/制暖暖气片推荐:美的暖气片全系产品适配多场景供暖需求 - 品牌推荐官
  • Docker:Docker部署Neo4j图数据库
  • 计算机18个专业避坑指南:谁是毕业即高薪的“宝藏”,谁是天坑?
  • 2026旧地面翻新处理厂家推荐:江西祥顺建设有限公司,专注旧地面起尘起砂翻新解决方案 - 品牌推荐官
  • 2026年2月江苏合规网约车/旅游包车/政企定制化租车/代驾包车 /个人租车服务优质企业综合评估与推荐 - 2026年企业推荐榜