hi pro-gs!
habe ein grundlegendes (verständnis?)problem beim händischen (ohne eclipse) compilieren folgenden testbeispieles:
(kurzerklärung: T1 ruft eine methode getXX aus T3 auf, wobei T3 die Klasse T2 implementiert;
T1 in package
test; T2 & T3 in package
test.testest)
verwende Windows XP, javac-version: 1.5.0_02
Code:
T1.java:
package test;
public class T1 {
public static void main(String [] args) throws Exception {
test.testest.T2 x1 = new test.testest.T3();
String x2 = x1.getXX();
System.out.println("x1.getXX = " + x2 + " !");
}
}
T2.java:
package test.testest;
public interface T2 {
public String getXX();
}
T3.java:
package test.testest;
public class T3 implements T2 {
public String getXX() {
System.out.println("+++T3.getXX+++");
return ("XX");
}
}
Package-Explorer-Struktur in Eclipse:
(P)
test
..+ (J) T1.java
(P)
test.testest
..+ (J) T2.java
..+ (J) T3.java
(P) steht für das Package-Symbol, (J) für Java-File
Ausgabe von Run T1 in Eclipse wie erwartet:
Code:
+++T3.getXX+++
x1.getXX = XX !
Ordnerstruktur auf C:\
test:
Code:
12:11 242 T1.java
13:42 <DIR> testest
dir von C:\test\testest
13:42 <DIR> .
13:42 <DIR> ..
13:47 79 T2.java
13:47 166 T3.java
nun versuchte ich zu compilieren:
C:\test\
testest> javac T2.java
---> keine Meldung, T2.class erstellt (dh also: ok)
C:\test\
testest> javac T3.java
Code:
T3.java:3: cannot find symbol
symbol: class T2
public class T3 implements T2 {
^
1 error
selber Fehler auch mit: javac
-cp . T3.java
C:\
test> javac T1.java
Code:
T1.java:5: package test.testest does not exist
test.testest.T2 x1 = new test.testest.T3();
^
T1.java:5: package test.testest does not exist
test.testest.T2 x1 = new test.testest.T3();
^
2 errors
auch mit den optionen
-cp .
-cp .;testest
-cp c:\test\testest
selbe Fehlermeldung
hoffe ihr könnt mir einen tip geben wie das zu compilieren ist - danke!
(die package-struktur test.testest soll so bleiben)
zusatzfrage:
sind die beiden packages
test und
test.testest irgendwie logisch/funktionell/hierarchisch verbunden oder sowieso unabhängig?
mfG Dilli.nger