Hallo,

ich erspare mir alle Kommentare warum man sowas nicht macht, das kann man im Detail auf meiner Webseite nachlesen und dieses Beispiel spricht für (oder besser gegen) sich.

Zitat Zitat von hoeppe
Übrigens kleiner Tipp der von allg. Interesse sein könnte:
Die Kennung "()Ljava.lang.String;" im Fehlertext eines RNQ0301 java.lang.NoSuchMethodError gibt nach meiner Ansicht Auskunft darüber, mit welchen Parametern die Methode aktuell gerufen wurde (hier fehlt also der Eingabwert, weil leere Klammer) und sagt nicht aus, wie die Parameter denn sein sollten!

Gruß
Hoeppe
Zu obiger Bemerkung:
Java arbeitet (wie SQL und C ebenso) mit Overloading, sprich: man kann in der gleichen Klasse Methoden mit gleichen Namen haben, wenn sie sich in der Parameterschnittstelle unterscheiden und es wird dann immer die passende aufgerufen.
class TestUnfug
{
String getEcho()
{
return "Quatsch";
}
String getEcho(String huddel)
{
return huddel;
}
}
Das sind zwei verschiedene Methoden!!! und wenn ich jetzt versuchen würde:
new TestUnfug().getEcho("Hugo", "Otto");
dann bekäme ich wieder eine noSuchMethod , weil es eben keine Methode String getEcho(String a, String b) in TestUnfug gibt.

Es sei hier nur am Rande erwähnt, dass einen der Java Compiler von vornherein von diesem Quatsch abgehalten hätte, der prüft nämlich ob passende Signaturen da sind.

mfg

Dieter Bender