すいません、クラスパスについて質問です。

状況
javaコマンド実行時に、以下のエラーメッセージが出てしまいます。
Exception in thread "main" java.lang.NoClassDefFoundError: Sample (wrong name: chapter1/Sample)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
以下もスタックトレースの内容が表示されました。

行った手順
1.mainメソッド(「Hello Java」を表示する単純なクラス)があるSampleクラスにchapter1というパッケージ名をつけた。
2.以下コマンドプロンプトでの実行手順(コンパイル済)
>C:\j2sdk1.4.2_04\sample\chapter1>java Sample ←Sampleクラスがあるディレクトリで実行。状況に記述したエラーが表示。
>C:\j2sdk1.4.2_04\sample\chapter1>java chapter1.Sample ←スタックトレースは表示されないが、エラーメッセージはほぼ同じ。
>C:\j2sdk1.4.2_04\sample\>java chapter1.Sample ←一階層戻ったら、Hello Java が表示された。

疑問点
1.VMのクラス検査順序は
 �@標準ライブラリの中から実行するクラスを検査
 �Aカレントディレクトリからクラスを検査
 �Bクラスパスで指定されているパスからクラスを検査
 �C上記の�@、�A、�Bで見つからなかったらNotClassDefErrorがスローされる
上記の認識が正しければ、「java Sample」で実行されるのではないのか?

2.なぜ、手順の最終行のように、パッケージの先頭ディレクトリだと実行可能なのか?


サイトで調べたのですが、解決できなかったので、何卒御教授下さい。