常见错误
Java 源文件中的命名陷阱
graph TD
A[常见命名错误] --> B[文件名不正确]
A --> C[类名不匹配]
A --> D[命名规范不当]
A --> E[命名冲突]
错误 1:文件名不正确
有问题的示例
不正确的名称 |
问题 |
正确的名称 |
userManager.java |
以小写字母开头 |
UserManager.java |
User_Manager.java |
不必要的下划线 |
UserManager.java |
UserManager.JAVA |
扩展名大小写不正确 |
UserManager.java |
错误 2:类名和文件名不匹配
编译错误示例
## 在 Ubuntu 上创建一个不匹配的文件
nano WrongClassName.java
## 不正确的类定义
public class RightClassName {
public static void main(String[] args) {
System.out.println("LabEx Java Tutorial");
}
}
## 尝试编译
javac WrongClassName.java
## 这将导致编译错误
错误 3:不合适的命名规范
要避免的不良做法
- 使用隐晦的缩写
- 名称过长
- 缺乏描述性的名称
- 使用保留关键字
重构示例
// 不好的
public class x {
private int a;
public void d() {
// 方法不清晰
}
}
// 好的
public class UserAccountManager {
private int userAge;
public void calculateUserDiscount() {
// 清晰且具有描述性
}
}
错误 4:包命名错误
常见的包命名错误
- 使用大写字母
- 命名不一致
- 非标准的域名结构
正确的包结构
## 推荐的包结构
mkdir -p /home/developer/com/labex/project/
mkdir -p /home/developer/com/labex/project/models
mkdir -p /home/developer/com/labex/project/services
错误 5:多个公共类
编译限制
- 每个
.java
文件只能有一个公共类
- 其他类可以是包私有类
// 不正确:多个公共类
public class FirstClass {
// 一些代码
}
public class SecondClass {
// 这将导致编译错误
}
// 正确:一个公共类
public class MainClass {
// 公共类
}
class SupportClass {
// 包私有类
}
预防策略
- 使用 IDE 代码格式化
- 遵循一致的命名规则
- 定期审查代码
- 使用静态代码分析工具
- 践行代码整洁原则
LabEx 推荐的方法
- 始终验证文件和类名
- 使用有意义且一致的命名
- 严格遵循 Java 命名规范
- 定期进行代码审查