2014-05-15 98 views
0

閱讀問題Java packages com and org和答案之後,我仍然好奇:在java中使用的是com和org之外的東西嗎?

  1. 有沒有,我只能使用comeduorg一些嚴格的規則?
  2. 而且,創建其他不是這個東西的軟件包不好嗎?

說,我來回回,捷克共和國和我自己PavelJanicek公司,我可以創建包這將是進口同類

import cz.paveljanicek.usable.awesomeutils; 

編輯:由於答案的一個假設它應該是可能的,我是否也可以將它應用於新的域名TLD?

例如:

import berlin.berlincity.touristguide.api; 
+0

是的,你可以,這正是我們如何確定軟件包名稱。 – rsp

回答

1

甲包名稱是由語言規範作爲valid identifiers繼承,通過.分隔限定。

所以約定(爲了唯一目的)是使用你的域名,但是可以使用任何有效的標識符。這也是一個有效的軟件包名稱:

é.è.û.¥ 
1

你應該看看這個鏈接:Java PackagesJava Package namings

你也應該看看similar topic

最後報價補充:

I如果你只是在做別人不會使用代碼的個人項目,那麼你可以編寫一個你喜歡的包名。不要 組成一些以com開頭的東西。或網。或其他頂級 域名,因爲這意味着您擁有域名 (即使用com.john作爲您的包名稱,僅僅是因爲您的名字 碰巧是John不是一個好主意)。

如果你想給的代碼到其他人,你應該使用 全局唯一的包名,它根據Java約定 意味着你應該註冊和使用域名。

短:使用任何你喜歡:)

+0

此答案引用了良好的信息 - 如果您查看回答指南(http://stackoverflow.com/help/how-to-answer),社區的建議是在網站下線時爲鏈接提供一些上下文未來。 – glenatron

+0

@glenatron感謝您的信息:) – ManyQuestions

+0

@HmLmLezz更新一些部分 – ManyQuestions

1

你錯過了很多在answer給出的信息。這裏再一次剪斷什麼Sun定義:

一個獨特的包名的前綴總是全部小寫的ASCII字母,應該是頂級域名之一,目前COM,EDU,GOV ,mil,net,org或英文的兩個字母代碼中的一個,如ISO標準3166,1981中所指出的那樣。

今天我們有更多的頂級域名。重要的部分是以相反的順序選擇你自己的域名。我建議你應該再次慢慢閱讀答案。目標是通過選擇唯一的名稱空間來避免命名衝突。而且由於域名已由一家公司/個人擁有,因此他們是很好的候選人。

+0

具體出於好奇:TLD名稱像'忍者'或'柏林'適用於規則? –

+0

我猜想,是的。你可以閱讀[這裏]列出的規則(http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html) – Harmlezz

1

是的,如果您擁有paveljanicek,您就必須這樣做。 有很多'com'和'org',但你可以找到很多其他人; 例如,記錄的logback庫包含包

ch.qos.logback.... 
1

你可以使用任何你想要的只是履行了Java的限制標識符類。

說,通常是安全的使用Java約定,但killerapp.gui.Main是有效的類標識符

相關問題