Wir haben bisher die Lösung nicht gefunden.
Soweit ich bisher weiß, kann ich Klassen eines Package auch pauschal importieren, und ich habe es übungshalber wie folgt versucht:
Die Klassen Eins und Zwei gehören zum Package "hans.daten", und beispielsweise Zwei sieht so aus:
Eins auch nicht viel anders:
Ich habe wie folgt kompiliert:
$ javac -d . {Eins,Zwei}java
$ javac Programm2.java
Die Verzeichnistruktur ist wie folgt:
Importiere ich in Programm2.java explizit wie folgt funktioniert es.
Aber nicht, wenn ich pauschal importiere:
Dann geschieht Folgendes:
Warum?
Soweit ich bisher weiß, kann ich Klassen eines Package auch pauschal importieren, und ich habe es übungshalber wie folgt versucht:
Java:
import hans.daten.*;
public class Programm2
{
public static void main(String[] args)
{
Eins obj1 = new Eins();
Zwei obj2 = new Zwei();
obj1.hallo();
obj2.hallo();
}
}
Die Klassen Eins und Zwei gehören zum Package "hans.daten", und beispielsweise Zwei sieht so aus:
Java:
package hans.daten;
public class Zwei
{
public void hallo()
{
System.out.println("2");
}
}
Eins auch nicht viel anders:
Java:
package hans.daten;
public class Eins
{
private String outp;
public void Eins()
{
this.outp = "In Eins";
}
public void hallo()
{
System.out.println(this.outp);
}
}
Ich habe wie folgt kompiliert:
$ javac -d . {Eins,Zwei}java
$ javac Programm2.java
Die Verzeichnistruktur ist wie folgt:
Bash:
.
├── hans
│ └── daten
│ ├── Eins.class
│ ├── Programm.class
│ └── Zwei.class
├── Eins.java
├── Programm2.java
├── Programm.java
└── Zwei.java
Importiere ich in Programm2.java explizit wie folgt funktioniert es.
Java:
import hans.daten.Eins;
import hans.daten.Zwei;
Aber nicht, wenn ich pauschal importiere:
Java:
import hans.daten.*;
Dann geschieht Folgendes:
Bash:
-rw-rw-r-- 1 230 Mai 16 14:47 Programm2.java
hans@bodhi-desktop:~/Java/java1/06_tag$ javac Programm2.java
Programm2.java:8: error: cannot access Eins
Eins obj1 = new Eins();
^
bad source file: ./Eins.java
file does not contain class Eins
Please remove or make sure it appears in the correct subdirectory of the sourcepath.
1 error
hans@bodhi-desktop:~/Java/java1/06_tag$
Warum?