Unterschied zwischen import u. direkter Pfadangabe

Hallo,

ich habe gerade etwas ziemlich mysteriöses entdeckt.

Es ist bei mir ein Unterschied ob ich schreibe:
import packageA.*;
und später
new KlasseB(); // die im packageA liegt

oder (ohne import):
new packageA.KlasseB();

In meinem Fall funktioniert die Sache nur, wenn ich die erste Variante (mit import) benutze!
Ich kann mir nicht erklären, warum die zweite Variante nicht funktionieren sollte.
Es ist ja auch egal ob ich schreibe new javax.swing.JFrame() schreibe, oder die Variante mit dem import.

Vielen Dank.

Ben

Hallo Benjamin,

hast du evtl. die entsprechende Variable falsch deklariert?

**KlasseB b;

b = new packageA.KlasseB();**

Das würde das Verhalten erklären, falls nicht, was für eine Fehlermelung bekommst du im 2. Fall?

gruss
Stefan

Hi,

wenn ich in einer Klasse ein Attribut folgendermassen deklariere:

private packageA.KlasseB myB;

dann bekomme ich die klassische Fehlermeldung:
„cannot resolve Symbol
class: KlasseB“

Und es kann ja auch eigentlich nicht am CLASSPATH liegen, denn
der beinhaltet bei mir auch das aktuelle Verzeichnis. Und in diesem liegt die zu kompilierende Datei, und im aktuellen Verzeichnis existiert auch ein Unterverzeichnis „packageA“ mit der Datei KlasseB.class.
Also mir ist dieser Fehler ein echtes Rätsel.

Ben

folgendes funktioniert dann wohl auch nicht oder?

import packageA.KlasseB();