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 通常用于服务加载类中,字母 K 和 V 通常用于映射类中的键和值的类型。

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 中的命名规则,这会让编写的代码可读性和维护性更高。

相关推荐
葡萄城技术团队1 小时前
给 SpreadJS 单元格装上自动完成
前端
需要8261 小时前
MySQL MVCC 与事务隔离级别:从一条 update 看版本链
java·数据库·spring boot·mysql·spring cloud
Memory_荒年1 小时前
订单超时未支付?从“定时扫库”一步步到最终形态
java·后端
恋猫de小郭1 小时前
Flutter 多窗口重要优化合并,多窗口性能和实用性大幅提升
android·前端·flutter
StudyAndLife2 小时前
开源一个 API 开放平台门户前端:本地 npm run dev 就能逛接口文档
前端
广州华水科技2 小时前
GNSS变形监测一体机在大坝安全监测中的应用与优势分析
前端
hunteritself2 小时前
夯爆了!Qoder 狂肝 2 小时,293 个测试全绿,Credits 一分没扣
前端·人工智能·chrome·深度学习·机器学习
Hilaku2 小时前
为什么前端应该主动去学数据库?
前端·javascript·程序员
涛涛ing2 小时前
2026年,你终于可以在 `<textarea>` 里定位任意字符了
前端
卷无止境2 小时前
便宜模型和贵模型到底差在哪儿?一份关于Claude与GPT分级体系的深度梳理
后端·python