Java 命名约定

原文 - Java Naming Conventions - By Lokesh Gupta

Java 命名约定体提一种指导规范,在应用开发的过程中,程序开发者遵守这些指导规范来产出一致且易读的代码。如果团队合作中并不遵守这些规范,他们可能编写出很难读懂的应用程序代码。

Java 中广泛使用驼峰规则来命名方法,变量等,并使用首字母大写命名类和接口。

下面,我们用案例来说明这些命名规则。

1. 包命名

包命名必须是以全部小写的域名(比如:com, org, net, etc) 开始的一组单词。包名的后续部分可以根据自身的内部命名预定而有所不同。

java 复制代码
package com.howtodoinjava.webapp.controller;

package com.company.myapplication.web.controller;

package com.google.search.common;

2. 类命名

Java 中,类命名一般使用名词,首字母大写的驼峰式命名:

java 复制代码
public class ArrayList {}

public class Employee {}

public class Record {}

public class Identity {}

3. 接口命名

Java 中,接口命名一般使用形容词 。接口名是首字母大写的驼峰式方式。在一些场景中,当接口表示一个类集合,比如List 和 Map,也可以使用名词

java 复制代码
public interface Serializable {}

public interface Clonable {}

public interface Iterable {}

public interface List {}

4. 方法命名

方法应该总是使用动词 。它们代表某个动作,所以方法名应该尽可能清晰表明这种状态。方法名可以由单个或者 2-3 个单词来表述这种动作。这些单词应该使用驼峰式标记法。

java 复制代码
public Long getId() {}

public void remove(Object o) {}

public Object update(Object o) {}

public Report getReportById(Long id) {}

public Report getReportByName(String name) {}

5. 变量命名

所有的实例、静态和方法的参数变量都应该符合驼峰式标记法。它们应该简短并清晰表明他们的目的。临时变量 可以是单个字符,比如循环中的计时器。

java 复制代码
public Long id;

public EmployeeDao employeeDao;

private Properties properties;

for(int i = 0; i < list.size(); i++) {

}

6. 常量命名约定

Java 常量应该是全大写的字符 ,多个字符之间使用 _ 字符来连接。

请确保在常量中使用 final 修饰符。

java 复制代码
public final String SECURITY_TOKEN = "...";

public final int INITIAL_SIZE = 16;

public final Integer MAX_SIZE = Integer.MAX;

7. 泛型命名约定

泛型参数名应该是单个大写的字符。推荐使用 T 字母。在 JDK 类中,字母 E 通常用于作为集合类中,字母 S 通常用于服务加载类中,字母 KV 通常用于映射类中的键和值的类型。

java 复制代码
public interface Map <K, V> {}

public interface List<E> extends Collection<E> {}

Iterator<E> iterator() {}

8. 枚举命名

和类常量命名相似,枚举名称应该是全大写字符

java 复制代码
enum Direction { NORTH, EAST, SOUTH, WEST }

9. 注解命名

注释命名遵循首字母大写规范。它们可以是形容词,动词或者名词,这基于它们的需求选择。

java 复制代码
public @interface FunctionalInterface() {}

public @interface Deprecated {}

public @interface Documented {}

public @Async Documented {}

public @Test Documented {}

本文,我们讨论了在编写一致性代码需要遵循的 Java 中的命名规则,这会让编写的代码可读性和维护性更高。

相关推荐
酒尘&33 分钟前
JS数组不止Array!索引集合类全面解析
开发语言·前端·javascript·学习·js
无限大636 分钟前
计算机十万个为什么--数据库索引
后端
冬夜戏雪44 分钟前
【java学习日记】【2025.12.7】【7/60】
java·开发语言·学习
CC.GG1 小时前
【C++】二叉搜索树
java·c++·redis
学历真的很重要1 小时前
VsCode+Roo Code+Gemini 2.5 Pro+Gemini Balance AI辅助编程环境搭建(理论上通过多个Api Key负载均衡达到无限免费Gemini 2.5 Pro)
前端·人工智能·vscode·后端·语言模型·负载均衡·ai编程
用户47949283569152 小时前
"讲讲原型链" —— 面试官最爱问的 JavaScript 基础
前端·javascript·面试
用户47949283569152 小时前
2025 年 TC39 都在忙什么?Import Bytes、Iterator Chunking 来了
前端·javascript·面试
JIngJaneIL2 小时前
基于Java非遗传承文化管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
+VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue心理健康管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
南部余额3 小时前
踩坑与解惑:深入理解 SpringBoot 自动配置原理与配置排除机制
java·spring boot·自动配置原理·import