我在2年前開始在java中編程。當時我們項目中的老年人曾建議我將「obj」附加到正在創建的對象的名稱上。java中對象的命名約定
例:
Car objCar = new Car("Ferrari");
這裏objCar
就是在說什麼。但是堆棧溢出中的很多人反對,現在我發現這不應該是命名對象的方式。使用集合時,命名約定很明確,但在創建一般類的對象時會感到困惑。
任何人都可以對此有所瞭解嗎?
我在2年前開始在java中編程。當時我們項目中的老年人曾建議我將「obj」附加到正在創建的對象的名稱上。java中對象的命名約定
例:
Car objCar = new Car("Ferrari");
這裏objCar
就是在說什麼。但是堆棧溢出中的很多人反對,現在我發現這不應該是命名對象的方式。使用集合時,命名約定很明確,但在創建一般類的對象時會感到困惑。
任何人都可以對此有所瞭解嗎?
只要叫它car
。 Sun/Oracle不使用Hungarian notation。
以描述它們的方式命名變量使用。但是你不需要在變量名稱中指明類型。您已經在變量聲明中指定了類型。如果您將鼠標懸停在變量上,IDE會向您顯示變量的類型,以便隨時提供信息。
對於變量名稱和方法名稱,應該使用lowercaseStartingCamelCase
,對於類名稱應該使用UppercaseStartingCamelCase
。
如果您想了解Sun/Oracle如何操作,您可以閱讀它們的Code Conventions for the Java Programming Language。
命名對象時遵循的標準是什麼?剛開始時只有小寫字母的名字? – 2012-04-27 05:46:05
@Ajj考慮命名它有意義的東西,比如它的用途。這是「標準」。如果您的意思是語法標準,則變量名稱以小寫字母開頭並使用camelCase。 – 2012-04-27 05:47:02
用accessor和mutator方法命名很好。我只是與'汽車','學生','機器'等普通課程混淆。 – 2012-04-27 05:49:45
爲對象命名,它使得閱讀和重構變得更容易。
java中對象的命名約定只是名稱。 例如
Car car = new Car("Ferrari");
匈牙利命名法的殘餘已被摒棄了加入支持的IDE已經提供了導航的主要是因爲。
好的。所以這是如何完成的? – 2012-04-27 05:48:24
因爲你是高級,畢竟我可以建議你一些命名爲 約定有關你的疑惑。因爲我們知道所有班級名稱都是以第一個大寫字母開頭的 ,所以當我們需要創建這個班級時,假設班級「MyTest」爲 它應該是「mytest」。 對象名稱應該採用這種格式。根據雅加達 項目宣言,我發現這種類型的對流和 以下。除了雅加達之外,Sun API包括用於開發 IDE的IDE也在使用它。 希望,它會幫助你。是的,我是新的。感謝您的有用信息。
Manoj,看起來你是新來的SO。親愛的等,沒有支持條款在SO和答案不需要代碼格式。 – kosa 2012-04-27 06:01:26
感謝您提供有用的信息。 – 2012-04-27 07:26:17
小寫字母的類名是Sun/Oracle標準。
當你正在爲一家公司,
取決於項目的命名規則也可能會有所不同。
Car car=new Car(); //good to follow
如果Singleton pattern,你可以給一個名稱,如下面
private static final Car singletonCar=new Car();
不應在字段名稱中標識單身人士。他們是單身人士的事實應該只在字段初始化時纔可見。如果需要其他東西,那麼這是一個關於做錯事情的信號。在你的例子中,錯誤的是你允許一個以上的Car-singleton實例。 – Torben 2012-04-27 06:02:08
edited.there有很多方法來創建一個單例它是其中之一。這種命名約定是爲了可讀性而維護的。 – 2012-04-27 06:33:03
單例的想法是,你只能初始化對象的一個實例。最終字段並不妨礙您創建兩個Car對象。你必須建立限制進入Car對象本身。初始化單身人士記錄很好。請Google它。一旦你獲得了一個單例的引用,就不需要在字段名稱中將它標記爲單例。單例應該以如此強大的方式實現,以便用戶在初始化後不必知道它。它應該像許多線程共享的任何其他對象一樣。 – Torben 2012-04-27 06:54:03
你的例子是有點太微不足道了。事實上,你永遠不會將對象類型「Car」的字段命名爲「car」。同樣,您從不將「整數」類型命名爲「整數」。
而是使用名稱告訴讀者該字段用於什麼。一些示例:
private Transport preferredTransportMethod;
private int invoiceCounter;
前綴字段類型一般不使用Java。但是,類成員有時以小寫「m」作爲前綴,以防止setter方法中的意外自我分配。
private long mTripDurationMillis;
除了基本類型,Java中的所有東西都是對象。你會在每個變量名上加上'obj'嗎? – Gabe 2012-04-27 05:45:12
這個'obj ...'東西,如果從舊時代。 – 2012-04-27 05:45:20
如果對你來說,它更容易識別你的屬性...爲什麼不與「obj」 – Neifen 2012-04-27 05:46:05