nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: Gleiche Klassen-Namen in unterschiedlichen Source-Dateien mit mehr als 1 Klasse.

Von: Boris Stumm (stumm@informatik.uni-kl.de) [Profil]
Datum: 18.09.2008 09:34
Message-ID: <gat0di$9uh$1@news.uni-kl.de>
Newsgroup: de.comp.lang.java
Helmut Weil wrote:
[...]

> Muß man das in JAVA einfach so hin nehmen bzw. ist das der Grund
> dafür, weshalb eine Datei nur EINE Klasse (außer inneren)
beinhalten
> SOLL (nicht DARF)?

Gründe dafür, und Gründe, warum das bei einem
vernünftigen Design nie
vorkommt, wurden ja schon genannt.

Mir fällt zur Zeit nur ein sinnvolles Beispiel ein, wo diese bzw.
eine ähnliche Situation ohne eigenes Verschulden auftreten
könnte
und wo man dann eine Lösung finden muss:

Wenn man in einem größeren Projekt 3rd-Party-Libraries benutzt, die
wiederum andere 3rd-Party-Libraries benutzen (was ein realistisches
Szenario ist), kann es sein, dass die direkt genutzten Libraries
indirekt wiederum unterschiedliche Versionen einer Library brauchen:

- meinprojekt.jar braucht a.jar und b.jar
- a.jar braucht c-1.0.jar
- b.jar braucht c-2.0.jar

Aufgrund fehlender Abwärtskompatibilität kann es dann
tatsächlich zu
dem vom OP beschriebenen Problem kommen.

Abhilfe kann hier meines Wissens nach die Verwendung unterschiedlicher
ClassLoader schaffen.

Das heißt: nein, man muss das beschriebene Problem nicht einfach so
hinnehmen, es gibt eine (etwas kompliziertere) Lösung dafür,
und es
gibt tatsächlich auch realistische Szenarien dafür. Wenn das
Problem
allerdings im eigenen Projekt auftritt, hat man definitiv was falsch
gemacht. Hier könnte man evtl. einfach innere Klassen benutzen.


[ Auf dieses Posting antworten ]