2016-09-18 6 views
1

たとえば、ライブラリを取得しましょう。java.util.Scannerドット演算子はファイルシステムのスラッシュに似ていると言っても過言ではありませんか?

Scannerクラスは 'util'内にあり、 'java'内にありますか?だから、UNIXサーバでは、Scannerは2つのディレクトリの中にある写真だとしましょう。それは次のように表現されます:java/util/Scanner.jpg?

同じ概念ですが区切り記号が異なるのですか? 。/

+0

はい私はそれが正しいと思います。パッケージをJavaでどのように処理して、com.website.packageなどの良いアイデアを得ることができます。 – sova

+1

はい、あります。しかし、ドットはより具体的です(パッケージの区切り文字とパッケージがFS内にある場所の表現)。 –

+3

あなたがこれを求めている理由は何ですか?はい、明らかにドットはJavaのパッケージ名の部分を区切り、スラッシュはファイルシステムパスのディレクトリを区切ります。スペースのように自然言語で単語を区切り、壁は家の別々の部屋を区切ります。それはすべてかなり明白です。彼らは何らかの形で*類似*かもしれませんが、同じ*ではありません。あなたが詳細に落としたい理由は、通常はあります。また、パッケージ名のドットがファイルパスのスラッシュと同じではない方法もあります。 –

答えて

1

ドットは演算子ではありません。ドットは区切り文字です:パッケージの区切り文字です。それ以外の場合は、ファイルシステムの/(または\)に相当します。

+0

その場合、yesですが、別のコンテキストの演算子です。 –

+2

実際にDavid、私はJLSが "と呼んでいるとは思わない。" *任意の*コンテキスト内の演算子。たとえば、語彙レベルでは、演算子ではなく区切り記号としてリストされています。http://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.11 –

1

はい、2つの概念は非常に高いレベルで類似しています。しかし、より深いレベルでは、類推は崩壊する。

たとえば、 "。"シンボルは、クラス階層とインスタンス階層にまたがるさまざまなコンテキストでJavaで使用されます。それは、それぞれの文脈において異なることを意味する。対照的に、 "/"パス名セパレータは(かなり)1つのことを意味します。

私は、この類推を行うことはではありません。 Javaプログラミング言語の理解に役立ちます。

関連する問題