2016-09-18 33 views
1

例如,我們來看看庫java.util.Scanner可以說點運算符類似於文件系統中的斜線嗎?

Scanner類位於'util'內部,'util'又位於'java'內部?因此,在UNIX服務器中,讓我們說掃描儀是位於兩個目錄內的照片。它會像這樣表示:java/util/Scanner.jpg?

所以同樣的概念,但不同的分隔符? 。和/

+0

是的我認爲這是正確的。您可以查看如何在Java中處理包以獲得更好的想法(如com.website.package),這些想法有點顛倒了。 – sova

+1

是的。但點更具體(它是一個包分隔符,也表示軟件包駐留在FS中的位置)。 –

+3

你問這個是什麼原因?是的,顯然這個點用Java分隔了包名稱的一部分,並且斜線分隔了文件系統路徑中的目錄。就像空間將自然語言中的單詞分隔開一樣,牆壁將房間分隔開來。這一切都很明顯。他們可能以某種方式*類似,但他們不是*相同*。通常有一個原因,你想要了解具體情況。還有一些方法可以使包名中的點與文件路徑中的斜槓不同。 –

回答

1

點不是一個操作符,它是一個分隔符:包分隔符。否則,對應於文件系統中的/(或\)。

+0

在這種情況下,是的,但它是不同背景下的運營商。 –

+2

其實大衛,我不認爲JLS稱之爲「。」 *任何*上下文中的運算符。例如,它在詞法層面作爲分隔符而不是運算符列出:http://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.11 –

1

是的,這兩個概念在很高的層次上是類似的。但是更深層次上,這個比喻被打破了。

例如,「。」符號在Java中用於跨越類和實例層次結構的各種環境中。它在每種情況下意味着不同的事物。相比之下,「/」路徑名分隔符意味着(非常)一件事。

我會說這個比喻是對理解Java編程語言沒有幫助

相關問題