作者:知乎用戶
鏈接:https://www.zhihu.com/question/20212262/answer/15289124
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
鏈接:https://www.zhihu.com/question/20212262/answer/15289124
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
java包名是大小寫敏感的, windows中的文件名是大小寫不敏感的,java中的包名對於與 windows中的文件名。這就是為什么在java1.2之后規定java包名在命名時采用小寫。
以下內容參考( http://www.bywing.com/?p=12)
在Java 1.0和Java 1.1中,域擴展名com,edu,org,net等都約定為大寫形式。所以庫的樣子就變成:COM.demo。然而,在Java 1.2的開發過程中,設計者發現這樣做會造成一些問題。所以目前的整個軟件包都以小寫字母為標准,為什么要做這樣的改變呢?
可能是為了適應不同的操作系統而做的改變吧。因為Unix系的操作系統是大小寫敏感的,所以如果在操作系統中”COM”和”com”兩個文件夾被認為是兩個不同的文件夾;而在Windows操作系統中,大小寫是不敏感的,因此”COM”和”com”兩個文件夾為被認為是同一個文件夾。正因為這樣,如果有人正好在Unix系的操作系統下寫了兩個包名為”COM.bruceeckel.utility.foibles”和”com.bruceeckel.utility.foibles”的工具包,遷移到Windows上面來的時候,就會出問題了。這樣就好解釋Java1.2要把包名統一成小寫了。
以下內容參考( http://www.bywing.com/?p=12)
在Java 1.0和Java 1.1中,域擴展名com,edu,org,net等都約定為大寫形式。所以庫的樣子就變成:COM.demo。然而,在Java 1.2的開發過程中,設計者發現這樣做會造成一些問題。所以目前的整個軟件包都以小寫字母為標准,為什么要做這樣的改變呢?
可能是為了適應不同的操作系統而做的改變吧。因為Unix系的操作系統是大小寫敏感的,所以如果在操作系統中”COM”和”com”兩個文件夾被認為是兩個不同的文件夾;而在Windows操作系統中,大小寫是不敏感的,因此”COM”和”com”兩個文件夾為被認為是同一個文件夾。正因為這樣,如果有人正好在Unix系的操作系統下寫了兩個包名為”COM.bruceeckel.utility.foibles”和”com.bruceeckel.utility.foibles”的工具包,遷移到Windows上面來的時候,就會出問題了。這樣就好解釋Java1.2要把包名統一成小寫了。