Java中为何声明常量时常用static关键字?

2026-05-21 12:370阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计642个文字,预计阅读时间需要3分钟。

Java中为何声明常量时常用static关键字?

今天定义一个类常量,想着也只会有这个类可用,于是没用static关键字修饰。结果sonar代码检查提示:建议将这个字段PERSON_TYPE_USER重命名为符合正则表达式‘^[a-z][a-zA-Z0-9]*$’的形式。我一想,我咋了?

今天定义一个类常量,想着也只有这个类可以用到,就没用static关键字修饰。结果sonar代码检查提示:

Rename this field "PERSON_TYPE_USER" to match the regular expression '^[a-z][a-zA-Z0-9]*$'。

我一想我这是正确的命名规范啊,于是百度一搜这提示,发现前面加个static关键字修饰就可以了。

Java中为何声明常量时常用static关键字?

那么问题来了,我就当前类要使用,不需要设置成全局常量也可以,用static修饰常量有什么好处?

好处就是:在创建类的多个对象时,用static修饰的常量在内存中只有一份拷贝。不用static修饰则可能有多份拷贝。

class A { public static final String CONSTANT_A = "Hello"; public final String CONSTANT_B = "Hello"; }

创建A的多个对象时,CONSTANT_A在内存中只有1份拷贝,CONSTANT_B在内存中有多份拷贝。

阅读全文

本文共计642个文字,预计阅读时间需要3分钟。

Java中为何声明常量时常用static关键字?

今天定义一个类常量,想着也只会有这个类可用,于是没用static关键字修饰。结果sonar代码检查提示:建议将这个字段PERSON_TYPE_USER重命名为符合正则表达式‘^[a-z][a-zA-Z0-9]*$’的形式。我一想,我咋了?

今天定义一个类常量,想着也只有这个类可以用到,就没用static关键字修饰。结果sonar代码检查提示:

Rename this field "PERSON_TYPE_USER" to match the regular expression '^[a-z][a-zA-Z0-9]*$'。

我一想我这是正确的命名规范啊,于是百度一搜这提示,发现前面加个static关键字修饰就可以了。

Java中为何声明常量时常用static关键字?

那么问题来了,我就当前类要使用,不需要设置成全局常量也可以,用static修饰常量有什么好处?

好处就是:在创建类的多个对象时,用static修饰的常量在内存中只有一份拷贝。不用static修饰则可能有多份拷贝。

class A { public static final String CONSTANT_A = "Hello"; public final String CONSTANT_B = "Hello"; }

创建A的多个对象时,CONSTANT_A在内存中只有1份拷贝,CONSTANT_B在内存中有多份拷贝。

阅读全文