Premettendo che sono un principiante:
ho queste classi

Mammal.java
public class Mammal {
....
}

Dog.java
public class Dog extends Mammal {
...
}

Speak.java
class Speak {
public static void main(String[] arguments) {
Dog doggie = new Dog();
}
}

I tre files si trovano tutti nella stessa directory, eppure quando compilo Dog (javac Dog.java) e Speak (javac Speak.java) mi dà l'errore "cannot resolve symbol" sulle classi Mammal e Dog rispettivamente.

Se però lancio la compilazione così
javac -classpath . Dog.java
javac -classpath . Speak.java

allora funziona.

Il CLASSPATH sulla mia macchina è
".;C:\Programmi\Java\j2sdk1.4.1_03\lib\tools.j ar"

Il punto davanti dovrebbe permettergli di trovare le classi nella stessa directory (che è quella da cui lancio tutte le compilazioni).
Perché funziona solo se indico espressamente il parametro -classpath?