>>965
依存してるからだよ。Calcクラス内からCalcLogicを使っているからコンパイラはCalc.javaコンパイル時にCalcLogicクラスのことがわからないとダメだ。
つまり先にCalcLogicがコンパイルされてクラスファイルになっている必要がある。

で、依存関係のあるクラスをCLASSPATHを起点とするディレクトリ以下でコンパイルする時に全て指定した場合はコンパイル順序は自動で考慮してコンパイルしてくれるってこと。
もし依存がないならひとつづつ順序考慮せずにコンパイルすることも可能だ。

ただ場合によっては大量のソースを一度にコンパイルする必要があるわけだが、その場合はコマンドラインに書ききれないならテキストファイルにスペースまたは改行区切りでファイル名を並べて書いておいて javc の引数で @ 付けてそのファイルを指定するという方法が使える。
これはWindows用javcだけの機能かも知れない。昔からDOS用コマンド等でやられてきた方法だ。DOSは引数の文字列制限がとても小さかったからね。
UNIX系OSではそんなこと考えずシェルスクリプトに引数並べちゃえばいいんだけどね(見辛い場合は行末に \ 入れて次の行と繋がってる事にする)。