Java修饰符排列规范,一个不常使用但有必要注意的小细节

你好呀,我是仨仨!

今天在整理项目的时候,注意到这样一个变量:
在这里插入图片描述
SonarLint 提示需要用 static 修饰,于是我顺手就在 final 后加了一个static,然而等 SonarLint 再次检查后,又出现了新的提示:
在这里插入图片描述
我一拍脑门,Java 修饰符还有规范吗,好像一时间想不起来,不过我们可以点开 SonarLint 给出的提示,提示文本如下:
在这里插入图片描述
翻译过来就是:
Java语言规范建议按以下顺序列出修饰符:

  1. Annotations
  2. public
  3. protected
  4. private
  5. abstract
  6. static
  7. final
  8. transient
  9. volatile
  10. synchronized
  11. native
  12. default
  13. strictfp
    不遵循这种惯例不会对技术产生影响,但会降低代码的可读性,因为大多数开发人员都习惯了标准顺序。
    不兼容的代码示例:
static public void main(String[] args) {   // Noncompliant
}

兼容的代码示例:

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

简单来说,遵守修饰符的排列规范有助于提高代码的可读性和可维护性,在团队中,成员可能有不同的编码风格偏好。但为了保持一致性,最好制定并遵循一套共同的规范。

最后,我按照规则修改修饰符排列顺序,成功的没有提示出现!
在这里插入图片描述

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java中,如果需要定义一个类属性或类方法,应该使用关键字`static`来修饰。使用`static`修饰的属性或方法属于类本身,而不是属于类的任何一个对象,因此可以通过类名直接访问,而无需创建对象。同时,类属性和类方法可以被所有对象共享,这也是使用`static`修饰符的主要原因之一。除此之外,还可以使用`public`或`private`等访问修饰符来限制类属性或类方法的访问权限。 ### 回答2: 在Java中,如果需要定义一个类属性或类方法,应使用"static"修饰符。 对于类属性,也称为静态变量,它是属于整个类的,而不是类的某个实例对象。通过使用"static"修饰符,可以在类中定义一个公共的属性,该属性在类的所有实例对象之间共享,并且可以通过类名直接访问而无需创建实例对象。 对于类方法,也称为静态方法,它是独立于实例对象的方法。通过使用"static"修饰符,可以在类中定义一个与类关联的公共方法,该方法可以直接被类名调用,而无需通过实例对象调用。 使用"static"修饰符的类属性和类方法具有以下特点: 1. 不依赖于实例对象的创建,可以直接通过类名调用; 2. 可以被类的所有实例对象共享,修改一处将影响所有实例对象的访问。 3. 类属性被所有实例对象共享,但每个实例对象可以有自己的实例属性。 4. 类方法不能直接访问非静态的实例变量和非静态方法,只能访问静态属性和静态方法。 总之,当需要在Java中定义一个类属性或类方法时,应使用"static"修饰符来标识该属性或方法。这样,可以实现对类的整体控制,并且可以方便地通过类名直接访问属性和调用方法。 ### 回答3: 在Java中,如果需要定义一个类属性或类方法,应使用"static"修饰符。 在Java中,类属性是指在整个类中共享的变量,而不是每个对象独有的属性。在定义类属性时,使用"static"修饰符可以将变量声明为静态变量。静态变量由所有类的对象共享,它们属于类本身而不是类的特定对象。可以通过类名直接访问静态变量,并且在内存中只存在一份副本。 类方法也被称为静态方法,它是一种属于类本身而不是类的实例的方法。类方法可以通过类名直接调用,而不需要创建类的实例。定义类方法时,同样要使用"static"修饰符。 总结起来,使用"static"修饰符可以将属性或方法声明为类级别的,而不是实例级别的。这样可以节省内存空间,并且可以通过类名直接访问或调用,而不需要创建对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值