14

2 年前,我开始使用 Java 编程。当时我们项目中的前辈建议我将“obj”附加到正在创建的对象的名称中。

前任:

Car objCar = new Car("Ferrari");

objCar就是我所说的。但是 Stack Overflow 的许多人反对它,现在我发现这不应该是对象命名的方式。我很清楚使用集合时的命名约定,但是当创建通用类的对象时我很困惑。

任何人都可以对此有所了解吗?

4

6 回答 6

27

就叫吧car。 Sun/Oracle 不使用匈牙利符号。

以描述其用途的方式命名您的变量。但是你不需要在变量名中指明类型。您已经在变量声明中指定了类型。如果您将鼠标悬停在 IDE 上,IDE 将向您显示变量的类型,以便始终可以随时获取信息。

您应该使用lowercaseStartingCamelCase变量名和方法名,以及UppercaseStartingCamelCase类名。

如果你想了解 Sun/Oracle 是如何做事的,你可以阅读他们的 Java Programming Language 代码约定

于 2012-04-27T05:44:53.883 回答
5

你的例子有点太琐碎了。实际上,您永远不会将对象类型“Car”的字段命名为“car”。同样,您永远不会将“整数”类型命名为“整数”。

相反,使用名称告诉读者该字段的用途。一些例子:

private Transport preferredTransportMethod;

private int invoiceCounter;

不常用的前缀字段类型是Java。但是,类成员有时会以小写“m”作为前缀,以防止在 setter 方法中意外自分配。

private long mTripDurationMillis;
于 2012-04-27T06:09:37.700 回答
2

将您的对象命名为它们是什么,它使阅读和重构更容易。

于 2012-04-27T05:45:33.480 回答
1

java中对象的命名约定只是名称。例如

Car car = new Car("Ferrari");

匈牙利符号的残余已被放弃,主要是因为 IDE 为导航提供了额外的支持。

于 2012-04-27T05:47:08.273 回答
1

小写字母的类名是 Sun/Oracle 标准。

当你在一家公司工作时,

根据项目命名约定,它可能会有所不同。

Car car=new Car(); //good to follow

如果是单例模式,你可以给如下的名字

 private static final Car singletonCar=new Car();
于 2012-04-27T05:53:40.793 回答
-1

作为资深人士,毕竟我可以建议您一些与您的疑问相关的命名约定。我们知道所有的类名都以第一个大写字母开头,假设当我们需要创建这个类的对象时,类“MyTest”应该是“mytest”。对象名称应采用此格式。根据雅加达项目宣言,我发现了这种类型的对流,如下所示。除了 jakarta,Sun API 包括用于开发的 IDE 也都在使用它。希望对您有所帮助。是的,我是新手。感谢您提供的有用信息。

于 2012-04-27T05:53:23.900 回答