核心内容摘要
靠逼的
书写顺序含类、方法、字段在Java中方法的修饰符和返回类型的书写顺序是有规定的如main方法中正确且标准的写法是public static void main(String[] args){ ... }这是Java社区、官方文档、IDE如Intellij IDEA、Eclipse默认生成的写法也是最清晰、最广泛接受的顺序其他合法的写法语法上正确但不推荐Java允许public和static交换顺序因为它们属于不同类别的修饰符如static public void main(String[] args) // 语法上正确但不推荐这样书写根据Java语言规范Chapter
Classeshttps://docs.oracle.com/javase/specs/jls/se17/html/jls-
html?spm
5176.
28103460.
0.
49d17551ApEHpJ#jls-
8.
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/成员变量的书写顺序[访问修饰符] [非访问修饰符] 类型 变量名 [ 初始值];
总结场景规则访问修饰符只能写一个public、protected、private或默认不写implements/extends写在类名之后不属于修饰符所以不在修饰符顺序中格式class A extends B implements C, Dinterface是关键字不是修饰符。
定义接口时用public interface MyInterfacevoid/ 返回类型必须紧挨着方法名之前不能放在修饰符中间非法组合private abstract method()❌abstract方法必须被子类实现不能私有static abstract method()❌Java 8 前不允许Java 8 的static方法不能是abstract