super- Methode aufrufen

Generic1

Top Contributor
Hallo,

was haltet ihr von diesem Konstrukt:

Java:
public class Basisklasse {
   
   public Object methode() {
      irgendwas
      }
}

Java:
public class SubKlasse extends Basisklasse {
   
  @Override
  public Object methode() {
     if(super.methode() == null)    // das kommt mir da nicht ganz geheuer vor, was sagt ihr dazu
        //mach was
     }
}

irgendwie ist mir dieser Code nicht geheuer. Was haltet ihr davon bzw. ich bin mir sicher, dass man das besser lösen kann, aber wie.
lg
 

Niki

Top Contributor
ist ein gültiges konstrukt und manchmal benötigt man es halt. wenn du z.b. bein eigenes Document für ein TextFeld brauchst, musst du auch damit arbeiten.
 

Generic1

Top Contributor
Tut aber irgendwie weh, ich bin mir jetzt nicht sicher, ob man das so machen soll, ich hab das noch nie benötigt. Mir erscheint das als ein schlechtes Design!?
 
S

SlaterB

Gast
schön ist das nicht, habe ich glaube ich noch nie benutzt oder irgendwo sinnvoll gesehen,
möglich ist es technisch natürlich, aber meiner Ansicht nach sehr zu vermeiden

(edit: doch eher übertrieben von mir)
 
Zuletzt bearbeitet von einem Moderator:

Andi_CH

Top Contributor
Was empfindest du als schlecht? Den Vergleich mit null (also der Zweifel ob die Oberklasse in jedem Fall etwas vernünftiges liefert) oder die Tatsache dass eine Oberklassenmethode aufgerufen wird?

Ersteres kann immer sein.

Wenn ich init Methoden von Konstruktoren trenne mache ich das auch. (Ich finde es ist ein gutes Design die Variablen der Vaterklasse auch in dieser zu initialisieren)

Es ist sicher nicht grundsätzlich zu verdammen aber auch nicht in jedem Fall gut.
 

Generic1

Top Contributor
Was mich stört ist erstens, dass ich aus einer überschriebenen Methode die überschriebene Methode aufrufe -> Ich möchte ja durch das Überschreiben einer Methode ausdrücken, dass ich das Verhalten verändern oder erweitern will, nicht aber, wenn das nicht geht dann mach halt was anderes -> da fällt mir sofort das Strategy Muster ein -> Verschiedene Verhalten kapseln.

Und die auf "null" fragerei find ich sowieso nur in Ausnamhefällen angebracht.
Deswegen hab ich an diesem Konstrukt so meine Zweifel!?
 

KSG9|sebastian

Top Contributor
Das Verhalten sollst du sowieso nicht ändern.

Design by Contract ist das Stichwort.

Kleines Beispiel

Code:
class Test{
   /**
    * Dividiert d1 durch d2
    * Wenn d2 0 ist wird -1 zurückgegeben.  
    */
   public double divide(double d1, double d2){
      if(d2 == 0){
          return -1;
      }
      return d1/d2;
   }
}
class TestSub extends Test{
   public double divide(double d1, double d2){
      if(d2 == 0){
          throw new IrgendwasException("zero not allowed");
      }
      return super.divide(d1, d2);
   }
}

class Usecase{
    public void foo(){
       Test cal = MyFactory.getCalculator();
       cal.divide(1, 0);
    }
}

TestSub ändert das Verhalten der Methode divide grundlegend: Es wird plötzlich eine Exception geworfen statt -1 zurückgegeben.
Der Aufrufer weiß aber gar nicht mit welcher Implementierung gearbeitet wird. Er verlässt sich darauf das -1 kommt. Irgendjemand dreht nun die Implementierung in der Factory und rums - schon kracht der Code.

Daher ist auch in deinem Beispiel die frage:
Was tut die Methode genau? Es mag schon korrekt sein auf null zu prüfen, aber eben nur unter der Bedigung das der Vertrag zwischen (so gesehen) Serviceuser und Serviceprovider nicht verletzt wird.

Im Prinzip kann ich nix schlechtes an deinem Beispiel erkennen.
Eine super-Methode aufzurufen - warum denn nicht?
Auf null prüfen - auch nicht unbedingt schlimm?

Oftmals wird sowas benötigt....

Code:
class MyDocument{
  
   public void insertText(String str..){
     // do something..
   }

}

class MyValidationDocument extends MyDocument{
   private String allowedChars = "0123456789";
   
   public void insertText(String str..){
      if(isValid(str)){
         super.insertText(str...);
      }
   } 

}
 

Andi_CH

Top Contributor
Ich überprüfe eigentlich bei jedem Aufruf den Rückgabewert.

Abgeleitete Klassen erweitern das Verhalten der Vaterklasse.

Es gibt z.B. mehr Attribute, also ruft meine init - Methode die init Methode der Vaterklasse auf und initialisiert danach die Attribute der eigenen Klasse (Ich hab sogar schon einzelne Attribute der Vaterklasse an diesem Punkt auf andere Werte geändert.)

Grundsätzlich ist es doch so, dass wenn eine Methode der eigentlich alles richtig macht, kopiere ich ganz sicher nicht den Code, sondern rufe sie auf und mache die zusätzlichen Dinge auch noch.

Wir mussten vor einiger Zeit ein Bemessungsprogramm so abändern, dass es im UK/US Masssystem funktioniert. Da haben wir das auch so gemacht, dass wir die neuen Klassen von den mks (Meter-kg-Sekunden) -Klassen abgeleitet haben. Die überschriebenen Funktionen haben die Eingabewerte umskaliert, "sich selbst" in der mks-Klasse aufgerufen und das Resultat auch umskaliert.
Das finde ich nicht ideal. Ich persönlich hätte da eine Interfaceklasse (nicht zu verwechseln mit Java Interfaces, aber ich weiss nicht ob man dem Bridge sagt) davorgesetzt, welche die Daten umskaliert, aber das war ein Architekturentscheid mit dem ich leben konnte.

Aber wie schon gesagt, das ist natürlich immer abzuwägen und sicher auch Geschmackssache ob es auch wirklich ein Vorteil ist.
 
S

SlaterB

Gast
super an sich ist natürlich schon ok und geläufiger, bei init() wird nur Code ausgeführt

meine Kritik bezog sich direkt auf das Beispiel am Anfang, Rückgabewert,
aber ok, denkbar ist das auch..
 

tfa

Top Contributor
Es gibt z.B. mehr Attribute, also ruft meine init - Methode die init Methode der Vaterklasse auf und initialisiert danach die Attribute der eigenen Klasse
Verkettete Konstruktoren eben, das ist das Standardverfahren mit dem super(...)-Aufruf.

(Ich hab sogar schon einzelne Attribute der Vaterklasse an diesem Punkt auf andere Werte geändert.)
Wenn man sowas macht, muss man verdammt aufpassen, das Substitutionsprinzip nicht zu verletzten. Ist die Kindklasse dann wirklich noch vom Typ der Mutterklasse oder verhält sie sich anders.
 

ThreadPool

Bekanntes Mitglied
Das Verhalten sollst du sowieso nicht ändern.
Design by Contract ist das Stichwort.

In welcher Abhandlung zum DbC (der Begriff ist übrigens geschützt) steht das man Verhalten nicht ändern darf? Dann wären Vererbung mit einhergehender Polymorphie nutzlos. Das was du du in deinem Beispiel demonstrierst ist nicht das ändern des Verhaltens sondern du demonstrierst den Verstoß das man in einer abgeleiteten Klasse die Vorbedingungen höchstens abschwächen jedoch nicht verstärken soll. [1]

[1] Das fordert IMHO das DbC und das Liskovsche-Substitutionsprinzip (sind eng verbunden), ich bin mir aber gerade nicht sicher wer zu erst da war.
 
S

SlaterB

Gast
"du demonstrierst den Verstoß das man in einer abgeleiteten Klasse die Vorbedingungen
höchstens abschwächen jedoch nicht verstärken soll." == Verhalten ändern? ;)
 

ThreadPool

Bekanntes Mitglied
"du demonstrierst den Verstoß das man in einer abgeleiteten Klasse die Vorbedingungen
höchstens abschwächen jedoch nicht verstärken soll." == Verhalten ändern? ;)

Dann haben wir andere Vorstellungen von "Verhalten", hätte er in der abgeleiteten Methode multipliziert wäre das für mich geändertes Verhalten (was aber nicht dem "Contract" entspräche den jmd erwartet der eine Methode zum Dividieren aufruft)
 
S

SlaterB

Gast
es kommt ja immerhin eine andere Rückgabe bzw. gar keine Rückgabe zu mindest einer bestimmten Eingabe,
das ist der Multiplikation, die auch die Rückgabe ändert, ziemlich nahe,
dass nur eine bzw. relativ wenige statt ziemlich viele Eingabekombinationen betroffen sind, ist kein Argument,

aber egal, nicht direkt das Hauptthema hier
 

Andi_CH

Top Contributor
Verkettete Konstruktoren eben, das ist das Standardverfahren mit dem super(...)-Aufruf.

Wenn man sowas macht, muss man verdammt aufpassen, das Substitutionsprinzip nicht zu verletzten. Ist die Kindklasse dann wirklich noch vom Typ der Mutterklasse oder verhält sie sich anders.

Die Objekte der Kindklasse starten mit anderen Anfangswerten als es Objekte der Vaterklasse tun. Wieso soll es also von einem anderen Typ sein?

init() ist in dem Fall nichts als eine set Methode die alle Attribute auf Defaultwerte setzt.

Ich bestreite nicht, dass man immer aufpassen sollte was man macht ;-)

init() wird im konkreten Fall auch von den Konstruktoren aufgerufen, was heisst dass der Code von super.init() zwei mal ausgeführt wird.
-> Dieses init enthält wirklich nur Wertzuweisungen! Keine "new", keine weiteren Aufrufe.
 

tfa

Top Contributor
Die Objekte der Kindklasse starten mit anderen Anfangswerten als es Objekte der Vaterklasse tun. Wieso soll es also von einem anderen Typ sein?
Anderer Typ war von mir falsch ausgedrückt. Ich meine, an die Stelle der Mutterklasse muss immer ein Objekt einer beliebigen Kindklasse treten können, ohne den Vertrag zu brechen. Wenn man jetzt bei der Initialisierung der Kindklasse Attribute der Mutterklasse ändert (etwa weil die Unterklasse Zusicherungen über die vererbten Attribute macht), ist das ein Hinweis auf eine Verletzung des Liskovschen Substitutionsprinzips.

init() wird im konkreten Fall auch von den Konstruktoren aufgerufen
Dann ist init hoffentlich private oder final. Andernfalls kann man sich schöne Bugs programmieren.
 

Andi_CH

Top Contributor
Anderer Typ war von mir falsch ausgedrückt. Ich meine, an die Stelle der Mutterklasse muss immer ein Objekt einer beliebigen Kindklasse treten können, ohne den Vertrag zu brechen. Wenn man jetzt bei der Initialisierung der Kindklasse Attribute der Mutterklasse ändert (etwa weil die Unterklasse Zusicherungen über die vererbten Attribute macht), ist das ein Hinweis auf eine Verletzung des Liskovschen Substitutionsprinzips.

Dann ist init hoffentlich private oder final. Andernfalls kann man sich schöne Bugs programmieren.

Wie bitte? Ähm du willst ja wohl nicht etwa sagen, dass ich in einem Kindobjekt nicht den Wert eines ererbten Attributes ändern darf? Sei das nun direkt weil es protected ist oder über einen setter.

Genau so lese ich aber deinen Einwand. (Liskov? Hm vielleicht mal gehört, aber ich habe nun mal nicht theoretische Informatik studiert. Auch was du unter "Zusicherung" verstehst ist mir nicht bekannt - die Prinzipien dürften mir schon bekannt sein, aber nicht unter den Namen)

Die Werte von Attributen ändern sicher nichts an der Tatsache dass das Objekt vom Typ "Unterklasse" und somit auch "Oberklasse" ist

Konstruktoren sind public und somit der Code drin auch.

Der Code wurde unter Anderem in die Funktion init() ausgelagert, weil man die Objekte in den Anfangszustand versetzen will, ohne immer wieder den Konstruktor aufrufen zu müssen. Also macht es auch nur Sinn wenn sie public ist :) (Die ist im konkreten Fall sogar ohne Parameter)

Ich bin immer noch am überlegen was an einer setter Methode die Public ist, gefährlich sein soll - wie kann ich da Bugs programmieren?

Wenn du mir jetzt populärwissenschaftlich erklären kannst was daran schlecht sein soll, habe ich heut was gelernt.
 
Zuletzt bearbeitet:

ThreadPool

Bekanntes Mitglied
Genau so lese ich aber deinen Einwand. (Liskov? Hm vielleicht mal gehört, aber ich habe nun mal nicht theoretische Informatik studiert. Auch was du unter "Zusicherung" verstehst ist mir nicht bekannt - die Prinzipien dürften mir schon bekannt sein, aber nicht unter den Namen)

Zu Liskov (http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/lsp-liskov-substitutionsprinzip):
„Wenn es für jedes Objekt u vom Typ U ein Objekt o vom Typ O gibt, so daß für alle Programme p, die in Operationen des O definiert wurden, das Verhalten von p unverändert bleibt, wenn o durch u ersetzt wird, dann ist der Typ U ein Untertyp des Typs O.“

Salopp ausgedrückt heisst das, überall dort wo du einen Basistyp verwendest solltest du auch einen seiner Subtypen verwenden können ohne das Verhalten des Programmes zu ändern. Das bekommt man in OO Sprachen wie Java über Vererbung und Polymorphie faktisch geschenkt.

Und jetzt kommt das ABER, durch den obigen Satz lassen sich noch mehr Dinge fordern in Bezug auf die Korrektheit von Programmen. Das geht z.B. von der Frage aus, was passiert wenn Subtypen Methoden überschreiben oder re-implementieren. Also muss man irgendwas im Supertyp festlegen was die Subtypen einhalten müssen.

Im Allgemeinen heissen die Dinger dann Vor-/Nachbedingungen und Invarianten (Klasseninvariante, Schleifeninvariante). Vor- und Nachbedingungen sind einfach gesagt Bedingungen die erfüllt sein müssen bevor ein Stück Code läuft und Bedingungen die erfüllt sein müssen nachdem ein Stück Code gelaufen ist und Invarianten sind Dinge die immer erfüllt sein müssen (aber kurzfristig verletzt werden können innerhalb einer Methode z.B.). Als "rudimentäres" Beispiel in Java können als Vorbedingungen z.B. assert x!= null verstanden werden oder das sich ein integer-Argument innerhalb eines bestimmten Bereichs befindet. Als Nachbedingung z.B. dass wenn du y= x*x rechnest die Nachbedingung x = sqrt(y) ist.

Diese ganze Sammlung von Konsistenzbedingungen wird dann z.B. im DbC als "Contract" bezeichnet. Für diese Bedingungen gibt es dann weitere Regeln, eine davon ist wie ich schon erwähnte, das Vorbedingungen höchstens aufgeweicht aber nicht verschärft werden dürfen. Bei Klasseninvarianten ist es ähnlich, stell dir vor du legst im Basistyp ein Attribut an welches nur Ganzzahlen in einem bestimmten Bereich erlaubt. In einem Subtyp darfst du den Bereich höchstens weiter einschränken aber nicht erweitern.

Einfacher kann ich es nicht beschreiben, man kann das ganze dann auch noch recht theoretisch angehaucht auswalzen...

EDIT: Die ganzen Diskussionen über das Substitutionsprinzip etc. führen natürlich auch zu Auseinandersetzungen was denn nun "richtig" sei und wann man wie etwas verletzen darf. Umgangsprachlich wird ein Subtyp der das LSP komplett erfüllt als "wahrer" oder echter Subtyp bezeichnet also das was die "ist-ein" Beziehung ausmacht. Den Rest bezeichne ich gerne als "is-like-a", sprich "ist-wie-ein" (d.h. ähnlich aber nicht 100%). Wenn man übrigens die "Client-"Schnittstelle (sehr einfach ausgedrückt also die "public"-Methoden) des Subtyps um Methoden erweitert ist es schon kein "wahrer" Subtyp mehr, das LSP ist da ein wenig streng.
 
Zuletzt bearbeitet:

tfa

Top Contributor
Genau so lese ich aber deinen Einwand. (Liskov? Hm vielleicht mal gehört, aber ich habe nun mal nicht theoretische Informatik studiert. Auch was du unter "Zusicherung" verstehst ist mir nicht bekannt - die Prinzipien dürften mir schon bekannt sein, aber nicht unter den Namen)
Die Grundbegriffe wie Zusicherung sollte man schon beherrschen. LSV gehört absolut nicht in die Theoretische Informatik, sondern ist ein ganz praktisches Prinzip der Softwareentwicklung. Threadpool hat ja schon viel dazu geschrieben.

Die Werte von Attributen ändern sicher nichts an der Tatsache dass das Objekt vom Typ "Unterklasse" und somit auch "Oberklasse" ist
Rein technisch stimmt das, aber ist die Klassenhierarchie pragmatisch sinnvoll? Darauf kommt es auch an.
Du kennst das Square-Retangle-Problem? Stell dir vor, du hast die Klasse "Rechteck" mit den Attributen "breite" und "höhe". Jetzt sollst du eine "Quadrat"-Klasse programmieren. Sollte man die von Rechteck ableiten (denn "Quadrat" is-a "Recheck")?
Wenn ja, müsste Quadrat eine (verschärfende) Zusicherung (siehe Link oben) über Attribute der Oberklasse machen, nämlich breite==höhe. Ein "Quadrat.setBreite()" müsse die Höhe gleich mit anpassen und umgekehrt. Ein solches Quadrat-Objekt verhält sich nicht wie ein Rechteck, obwohl es eins sein soll, das LSV wird verletzt => ein Quadrat ist kein Rechteck.
Und das ist keine Theorie!

Der Code wurde unter Anderem in die Funktion init() ausgelagert, weil man die Objekte in den Anfangszustand versetzen will, ohne immer wieder den Konstruktor aufrufen zu müssen. Also macht es auch nur Sinn wenn sie public ist :) (Die ist im konkreten Fall sogar ohne Parameter)
Da wir sowieso schon abschweifen, sag ich dazu jetzt mal nichts...
 

Andi_CH

Top Contributor
Ein solches Quadrat-Objekt verhält sich nicht wie ein Rechteck, obwohl es eins sein soll, das LSV wird verletzt => ein Quadrat ist kein Rechteck.
Und das ist keine Theorie!

Da wir sowieso schon abschweifen, sag ich dazu jetzt mal nichts...

Da müssen wir definitv nicht gleicher Meinung sein, denn mit diesen Einschränkungen wirst du kaum mehr etwas voneinander ableiten können - aber das ist OOA und OOD
 
M

maki

Gast
... denn mit diesen Einschränkungen wirst du kaum mehr etwas voneinander ableiten können - aber das ist OOA und OOD
Doch, klar kann man bei eEinhaltung dieser Regeln noch ableiten, "Gute" Klassenhierarchien machen genau das.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Super User via Processbuilder (Linux) Allgemeine Java-Themen 3
J Überschriebene Funktion soll nicht die super Funktion aufrufen Allgemeine Java-Themen 4
perlenfischer1984 Mit Lombok Builder Felder in Super Klasse füllen Allgemeine Java-Themen 12
Hacer List<? super E> Allgemeine Java-Themen 10
P Performance: super explizit erwähnen oder weglassen? Allgemeine Java-Themen 5
T Super Klasse Vererbung Problem :/ Allgemeine Java-Themen 10
E Super erzwingen, konzept/pattern gesucht. Allgemeine Java-Themen 8
trash super + JTable Allgemeine Java-Themen 7
trash super() mit Variable bestücken Allgemeine Java-Themen 3
G Super- und Subclass Allgemeine Java-Themen 2
S Stellung von super() Allgemeine Java-Themen 4
G super.super Allgemeine Java-Themen 7
conan2 super-super-Konstruktor? Allgemeine Java-Themen 3
P mehrere super klassen Allgemeine Java-Themen 10
thE_29 Foxtrot doch nicht so super. Allgemeine Java-Themen 12
D super-Konstruktor ist nicht super ;) Allgemeine Java-Themen 6
H Super-Konstruktor Allgemeine Java-Themen 7
V Vererbungsproblem --> Implicit super constructor Allgemeine Java-Themen 5
thE_29 PrintStream und super.println() Allgemeine Java-Themen 2
W Hilfe bei Methode Allgemeine Java-Themen 14
Ü Methoden Arrays vergleichen - Methode Allgemeine Java-Themen 1
Simon16 compareTo Methode überschreiben Allgemeine Java-Themen 4
TheSkyRider Methode über DataInputStream "auslösen" Allgemeine Java-Themen 6
M CrudRepository save Methode mocken Allgemeine Java-Themen 6
thor_norsk toString() - Methode Allgemeine Java-Themen 6
A Clean Code: Variable vs. Methode Allgemeine Java-Themen 8
Encera Zweite Main-Methode zuschalten Allgemeine Java-Themen 18
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Hibernate Envers - Aufruf der Methode zum Speichern selbst ausführen oder managen? Allgemeine Java-Themen 0
N rekursion mehrfach eine Methode Öffnen Allgemeine Java-Themen 4
berserkerdq2 Wenn ich eine Methode nur jede 50ms ausführen will, wie mach ich das? Allgemeine Java-Themen 4
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
N Schnellste Methode, ein Array durchzugehen? Allgemeine Java-Themen 9
E Methoden abstract static Methode Allgemeine Java-Themen 8
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
B In Java Methode mit generic input und output basteln? Allgemeine Java-Themen 4
goldmensch Datentypen Welche Methode hat die bessere Performance? Allgemeine Java-Themen 12
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
T C++ Methode Übersetzung in Java Allgemeine Java-Themen 3
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
R @author vor Methode (eclipse) Allgemeine Java-Themen 1
J RotSchwarzBaum: Löschen mittels insert-Methode Allgemeine Java-Themen 20
Y Java Bruttoberechnen + runden Methode Allgemeine Java-Themen 1
R Warum ist die Methode unendlich oft rekursiv? Allgemeine Java-Themen 5
R Methoden Was fehlt mir bzw. muss ich bei der Methode countHarshabNumbers ändern damit ich die Harshad Zahlen im Intervall [51, 79] zählen kann? Allgemeine Java-Themen 19
D ArrayListe delete Methode klappt nicht Allgemeine Java-Themen 12
Drachenbauer Wie finde ich den Aufrufer zu einer Methode, die sich nicht in meinem Projekt befindet? Allgemeine Java-Themen 2
A Ist ein enum hier richtig? Enum toString() Methode. Allgemeine Java-Themen 1
Scream_ilias brute force methode verbessern? Allgemeine Java-Themen 6
Scream_ilias passwort meines pc per brute force methode knacken Allgemeine Java-Themen 4
S static methode im Interface Allgemeine Java-Themen 1
M Konstruktor einer Methode Allgemeine Java-Themen 35
A HashMap Methode "get()"-Problem Allgemeine Java-Themen 28
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
T Sinn einer toString Methode Allgemeine Java-Themen 3
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
L Methoden Über Reflections eine Methode mit aufrufen Allgemeine Java-Themen 3
S Kann ich eine Methode schreiben die alle Arten von funktionalen Interfaces akzeptiert..? Allgemeine Java-Themen 21
L ToString-Methode Allgemeine Java-Themen 6
X Datentypen NPE in längerer Methode Allgemeine Java-Themen 12
I Methoden Generics-Methode Allgemeine Java-Themen 3
H Strategy Pattern - changeColor() Methode - input rgd oder hex einlesen Allgemeine Java-Themen 1
T statische Variable und nicht-statische Methode Allgemeine Java-Themen 2
B Aufruf der Methode ergibt eine Exception Allgemeine Java-Themen 13
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
F Was ist der Dateityp meines Parameters für die Main Methode. Allgemeine Java-Themen 6
F Variablen Palindromzahl (Probleme mit Methode) Allgemeine Java-Themen 9
B APi methode kurz anhalten Allgemeine Java-Themen 8
P Methode aus anderem Paket aufrufen Allgemeine Java-Themen 1
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
R Rekursive Methode Allgemeine Java-Themen 8
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
R Wo ist mein Fehler in der Methode DRINGEND Allgemeine Java-Themen 9
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
E RMI NULL-Pointer-Exeception wenn der RMI-Proxy eine Methode deligiert Allgemeine Java-Themen 2
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
M Methoden Generische Methode für ArrayList Allgemeine Java-Themen 7
D HTTP Aufruf einer Methode aus einem Servlet heraus Allgemeine Java-Themen 0
C Threads Methode verhält sich merkwürdig Allgemeine Java-Themen 18
R rekursive und iterative Methode Allgemeine Java-Themen 3
P Methoden Anwendung der allMatch()-Methode Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
D Methoden Methode zum Steinschnitt Allgemeine Java-Themen 2
U OOP Warum kann ich aus meiner Methode keinen String auslesen Allgemeine Java-Themen 4
T Methoden Methode zum durchsuchen einer ArrayList Allgemeine Java-Themen 8
D Returnwert aus einer Methode gerundet ausgeben lassen Allgemeine Java-Themen 2
S equals-Methode bestimmer Klassen abfangen Allgemeine Java-Themen 2
H Methoden Methode 'updateItem' der Klasse 'TreeCell' Allgemeine Java-Themen 3
snipesss Methode greift nicht auf JTextPanel zu Allgemeine Java-Themen 3
R Methode in Methode voraussetzen Allgemeine Java-Themen 8
S Überschriebene Methode der Oberklasse der Oberklasse aufrufen. Allgemeine Java-Themen 5
D Methode dynamisch aufrufen Allgemeine Java-Themen 2
Sogomn Methode als Parameter? Allgemeine Java-Themen 3
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
KaffeeFan Methoden Suche Methode um Programm kurz warten zu lassen Allgemeine Java-Themen 22
G Methoden Aus einem Event, wo ich weiß, dass es ausgeführt werden wird, eine Get-Methode basteln Allgemeine Java-Themen 8
BRoll Methode abbrechen (Invoke von außen) Allgemeine Java-Themen 5
I Methode verallgemeinern (Methode als Parameter)? Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben