2012-04-27 85 views
10

我在2年前开始在java中编程。当时我们项目中的老年人曾建议我将“obj”附加到正在创建的对象的名称上。java中对象的命名约定

例:

Car objCar = new Car("Ferrari"); 

这里objCar就是在说什么。但是堆栈溢出中的很多人反对,现在我发现这不应该是命名对象的方式。使用集合时,命名约定很明确,但在创建一般类的对象时会感到困惑。

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

+2

除了基本类型,Java中的所有东西都是对象。你会在每个变量名上加上'obj'吗? – Gabe 2012-04-27 05:45:12

+0

这个'obj ...'东西,如果从旧时代。 – 2012-04-27 05:45:20

+1

如果对你来说,它更容易识别你的属性...为什么不与“obj” – Neifen 2012-04-27 05:46:05

回答

25

只要叫它car。 Sun/Oracle不使用Hungarian notation

以描述它们的方式命名变量使用。但是你不需要在变量名称中指明类型。您已经在变量声明中指定了类型。如果您将鼠标悬停在变量上,IDE会向您显示变量的类型,以便随时提供信息。

对于变量名称和方法名称,应该使用lowercaseStartingCamelCase,对于类名称应该使用UppercaseStartingCamelCase

如果您想了解Sun/Oracle如何操作,您可以阅读它们的Code Conventions for the Java Programming Language

+0

命名对象时遵循的标准是什么?刚开始时只有小写字母的名字? – 2012-04-27 05:46:05

+0

@Ajj考虑命名它有意义的东西,比如它的用途。这是“标准”。如果您的意思是语法标准,则变量名称以小写字母开头并使用camelCase。 – 2012-04-27 05:47:02

+0

用accessor和mutator方法命名很好。我只是与'汽车','学生','机器'等普通课程混淆。 – 2012-04-27 05:49:45

2

为对象命名,它使得阅读和重构变得更容易。

1

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

Car car = new Car("Ferrari"); 

匈牙利命名法的残余已被摒弃了加入支持的IDE已经提供了导航的主要是因为。

+0

好的。所以这是如何完成的? – 2012-04-27 05:48:24

-1

因为你是高级,毕竟我可以建议你一些命名为 约定有关你的疑惑。因为我们知道所有班级名称都是以第一个大写字母开头的 ,所以当我们需要创建这个班级时,假设班级“MyTest”为 它应该是“mytest”。 对象名称应该采用这种格式。根据雅加达 项目宣言,我发现这种类型的对流和 以下。除了雅加达之外,Sun API包括用于开发 IDE的IDE也在使用它。 希望,它会帮助你。是的,我是新的。感谢您的有用信息。

+0

Manoj,看起来你是新来的SO。亲爱的等,没有支持条款在SO和答案不需要代码格式。 – kosa 2012-04-27 06:01:26

+0

感谢您提供有用的信息。 – 2012-04-27 07:26:17

0

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

当你正在为一家公司

取决于项目的命名规则也可能会有所不同。

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

如果Singleton pattern,你可以给一个名称,如下面

private static final Car singletonCar=new Car(); 
+1

不应在字段名称中标识单身人士。他们是单身人士的事实应该只在字段初始化时才可见。如果需要其他东西,那么这是一个关于做错事情的信号。在你的例子中,错误的是你允许一个以上的Car-singleton实例。 – Torben 2012-04-27 06:02:08

+0

edited.there有很多方法来创建一个单例它是其中之一。这种命名约定是为了可读性而维护的。 – 2012-04-27 06:33:03

+1

单例的想法是,你只能初始化对象的一个​​实例。最终字段并不妨碍您创建两个Car对象。你必须建立限制进入Car对象本身。初始化单身人士记录很好。请Google它。一旦你获得了一个单例的引用,就不需要在字段名称中将它标记为单例。单例应该以如此强大的方式实现,以便用户在初始化后不必知道它。它应该像许多线程共享的任何其他对象一样。 – Torben 2012-04-27 06:54:03

4

你的例子是有点太微不足道了。事实上,你永远不会将对象类型“Car”的字段命名为“car”。同样,您从不将“整数”类型命名为“整数”。

而是使用名称告诉读者该字段用于什么。一些示例:

private Transport preferredTransportMethod; 

private int invoiceCounter; 

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

private long mTripDurationMillis;