例如,我們來看看庫java.util.Scanner可以說點運算符類似於文件系統中的斜線嗎?
Scanner類位於'util'內部,'util'又位於'java'內部?因此,在UNIX服務器中,讓我們說掃描儀是位於兩個目錄內的照片。它會像這樣表示:java/util/Scanner.jpg?
所以同樣的概念,但不同的分隔符? 。和/
例如,我們來看看庫java.util.Scanner可以說點運算符類似於文件系統中的斜線嗎?
Scanner類位於'util'內部,'util'又位於'java'內部?因此,在UNIX服務器中,讓我們說掃描儀是位於兩個目錄內的照片。它會像這樣表示:java/util/Scanner.jpg?
所以同樣的概念,但不同的分隔符? 。和/
點不是一個操作符,它是一個分隔符:包分隔符。否則,對應於文件系統中的/
(或\
)。
在這種情況下,是的,但它是不同背景下的運營商。 –
其實大衛,我不認爲JLS稱之爲「。」 *任何*上下文中的運算符。例如,它在詞法層面作爲分隔符而不是運算符列出:http://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.11 –
是的,這兩個概念在很高的層次上是類似的。但是更深層次上,這個比喻被打破了。
例如,「。」符號在Java中用於跨越類和實例層次結構的各種環境中。它在每種情況下意味着不同的事物。相比之下,「/」路徑名分隔符意味着(非常)一件事。
我會說這個比喻是對理解Java編程語言沒有幫助。
是的我認爲這是正確的。您可以查看如何在Java中處理包以獲得更好的想法(如com.website.package),這些想法有點顛倒了。 – sova
是的。但點更具體(它是一個包分隔符,也表示軟件包駐留在FS中的位置)。 –
你問這個是什麼原因?是的,顯然這個點用Java分隔了包名稱的一部分,並且斜線分隔了文件系統路徑中的目錄。就像空間將自然語言中的單詞分隔開一樣,牆壁將房間分隔開來。這一切都很明顯。他們可能以某種方式*類似,但他們不是*相同*。通常有一個原因,你想要了解具體情況。還有一些方法可以使包名中的點與文件路徑中的斜槓不同。 –