# Java 命名约定

> 原文： [https://howtodoinjava.com/java/basics/java-naming-conventions/](https://howtodoinjava.com/java/basics/java-naming-conventions/)

**Java 命名约定**是应用程序程序员应遵循的准则，以在整个应用程序中产生一致且可读的代码。 如果团队不遵循这些约定，他们可能会集体编写难以阅读和理解的应用程序代码。

Java 大量使用 **Camel Case** 表示法来命名方法，变量等，并为类和接口使用 [**TitleCase**](https://howtodoinjava.com/java/string/convert-string-to-titlecase/) 表示法。

让我们通过示例详细了解这些命名约定。

## 1\. 包命名约定

套件名称必须是一组以所有小写域名开头的字词（例如`com`，`org`，`net`等）。 根据组织自己的内部命名约定，包名称的后续部分可能会有所不同。

```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 and 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 命名约定，这使代码更具可读性和可维护性。

在使用任何编程语言编写简洁的代码时，命名约定可能是遵循的第一个最佳实践。

学习愉快！