Aufrufen überschriebener Methoden

Status
Nicht offen für weitere Antworten.
M

Monzta

Gast
Klasse B erweitert die Klasse A. Dabei überschreibt Klasse B die public Methode m. Kann dann ein Objekt von B irgendwie die Methode m von A aufrufen?
 
G

Guest

Gast
das funktioniert meines erachtens nur innerhalb der Methode m...
Das heißt ich muss in die Methode m der Klasse b das super aufrufen.


Sowas wie folgendes geht nur nicht.
Code:
B b = new B();
b.super.m()
 

Ralf Ueberfuhr

Bekanntes Mitglied
Nee,

Code:
public class B extends A {

  public void m() {
    //...
  }

  public void x() {
    super.m();
  }


}

Hatten wir so ne Frage nicht erst?
 
M

Monzta

Gast
Darum gehts nicht^^. Die Methoden sind schon geschrieben.
Und ich habe das Objekt bereits erzeugt. Ich kann sowohl an der Methode in A als auch in der in B nichts mehr ändern. Trotzdem will ich die Methode m aus A bei einem Objekt aus B benutzen.
Folgendes reicht nicht:
Code:
B b= new b();
((A)b).m();
Das hochcasten auf A hilft nicht, da normal immer die konkreteste Methode aufgerufen wird. Aber ich hätte halt gern irgendwie die Methode A benutzt.
 

Ralf Ueberfuhr

Bekanntes Mitglied
Also da wirst wohl nicht mehr rankommen. Das ist ja Sinn und Zweck von überschriebenen Methoden.

Sind es fremde Klassen? Darf man fragen, welcher spezielle Fall bei dir vorliegt oder sind das Firmengeheimnisse?
 
M

Monzta

Gast
Wir fummeln in nem GrundstudiumsProjekt der UNI-Bremen an ner Online-Referenz-Bibliothek. Von daher sind unsere Klassen, um die es geht alle nicht wirklich bekannt.

Andererseits existiert das Problem als Teilaspekt bei Javas Collection<T>.
AbstractCollection implementiert wohl Collection und stellt wohl als Abstrakte Klasse equals zur Verfügung. Die Frage ist, wie man da ran kommt, wenn alle Subinterfaces wie List<T> und Set<T> mit AbstractSet und AbstractList ebenfalls ne Implementation von equals bereitstellen. Und natürlich gibts bei Collection kein Konstruktor, weil das ja auch nen Interface ist.

Also frag ich mich, wie man das equals da benutzen könnte. Nur indem man selber in einer eigenen Klasse Collection integriert?
Ich hatte gehofft, man könnte von einem Set aus irgendwie auf das equals von Collection zugreifen.
 
R

Roar

Gast
jetz kappier ich auch nix mehr :autsch: also
AbstractCollection implementiert wohl Collection und stellt wohl als Abstrakte Klasse equals zur Verfügung.
AbstractCollection hat jedenfalls keine equals() implementierung.
Die Frage ist, wie man da ran kommt, wenn alle Subinterfaces wie List<T> und Set<T> mit AbstractSet und AbstractList ebenfalls ne Implementation von equals bereitstellen. Und natürlich gibts bei Collection kein Konstruktor, weil das ja auch nen Interface ist.
:autsch: :autsch: hä?
selbst wenn AbstractCollection eine equals() implementierung bereitstellen würde, warum sollte man auf genau *diese* equals() methode zugreifen wollen und können?
wie masseur81 schon sagte: das is nunmal objektorientierung, und ich seh auch keinen fall, wo man so ne umgehung brauchen könnte ???:L
 

AlArenal

Top Contributor
Wie du selber festgestellt hast, ist Collection ein Interface. Auf dessen Methode kannst du nicht zufgreifen, weil es keine Implementierung in Collection gibt. Sonst wäre es ja kein Interface.

Ebensowengi kannst du an der Tür eines Hauses klopfen, das dein Architekt gerade erst gezeichnet hat.

Was genau willst du eigentlich erreichen?
 

Monzta

Mitglied
hmm, naja, klingt ja auch logisch. Ne Ausnahme der Objektorierntierung für mich wäre aber net gewesen :) .
 
B

bygones

Gast
Monzta hat gesagt.:
Ich hatte gehofft, man könnte von einem Set aus irgendwie auf das equals von Collection zugreifen.
äh, was ?
warum sollte man wollen ? jede Klasse hat durch das Vererben der Klasse Objekt eine equals Methode.

sicher dass ihr Sets / Collections vergleichen wollt und nicht deren Inhalte ? also die Objekte die die Collections speichern ?

Collection und AbstractCollection implementieren keine equals. Das AbstractSet implementiert eine equals methode

ehrlich gesagt versteh ich in keiner weise was ihr eigentlich machen wollt

edit: boah leute - um die zeit soviele hier... mannomann - get a life ^^
 

Monzta

Mitglied
die equals Methode in Set ist meines erachtens sowieso so implementiert, dass sie auf gleichheit ihrere Inhalte prüft. Also es wird getestet ob die Objekte des einen Sets alle Objekete des anderen Sets in beliebiger Reihenfolge enthält.


Achja und equals wird wirklich nicht in AbstractCollection implementiert.... da hatte ich wohl ne falsche Vorstellung... ist wohl doch schon zuspät.

Thx für die Infos, ich geh auch ne runde Schlafen :autsch:
 
G

Gast

Gast
hi,

die euqals methode wird von der Klasse Object bereitgestellt, und da jede Klasse von Object erbt, ist equals() auch in jeder erzeugten klasse enthalten. Wenn man super.equals() aufruft, dann wird die eqals() aus Object benutzt, da keine (mir bekannte) Klasse diese Methode Überschreibt. Also wird beim Aufruf von equals() nur ein "==" Vergleich (prüft "nur" die Referenz) durchgeführt.
also:
equals(Object o){
return ((Object)this) == o;
}

gruß
 

KSG9|sebastian

Top Contributor
hae ?

Code:
String a = new String("a");
String b = new String("a");

System.out.println(a == b); // false
System.out.println(a.equals(b)); // true

Aber, welchen Sinn soll es haben auf die equals-Methode der Oberklasse zuzugreifen ? Vor allem wenn die "Oberklasse" ein Interface ist ?

Gruß
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C jar File mehrfach aufrufen (als Windows Dienst) Allgemeine Java-Themen 5
J Aus JavaProgramm Setup Exe aufrufen Allgemeine Java-Themen 9
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
nonickatall Methoden Kann man Klassen/Methoden aus Variablen heraus aufrufen? Allgemeine Java-Themen 6
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
Lukasbsc JDA-Bot Webseite aufrufen Allgemeine Java-Themen 0
G Objekte mit Strings Aufrufen Allgemeine Java-Themen 8
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
L Methoden Über Reflections eine Methode mit aufrufen Allgemeine Java-Themen 3
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
L Mehrere .Jar Files aufrufen Allgemeine Java-Themen 9
F Operationen/Methoden einen WebService im Browser mit Apache Axis aufrufen Allgemeine Java-Themen 4
P Methode aus anderem Paket aufrufen Allgemeine Java-Themen 1
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
J Überschriebene Funktion soll nicht die super Funktion aufrufen Allgemeine Java-Themen 4
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
Javafan01 Website in Java aufrufen Allgemeine Java-Themen 1
C php-Website mit Proxy aufrufen Allgemeine Java-Themen 6
L sortiertes Array im main aufrufen klappt nicht. Allgemeine Java-Themen 3
C Dateien in Jar aufrufen Allgemeine Java-Themen 14
sandaime CMD aufrufen und aktuellen pfad ändern Allgemeine Java-Themen 11
J OpenOffice Makro aufrufen Allgemeine Java-Themen 2
I Problem beim Aufrufen, von Objektmethoden/ -variablen Allgemeine Java-Themen 6
Ananaskirsche Website mit Browser-Check aufrufen Allgemeine Java-Themen 8
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
S Überschriebene Methode der Oberklasse der Oberklasse aufrufen. Allgemeine Java-Themen 5
D Methode dynamisch aufrufen Allgemeine Java-Themen 2
D VBScript in .jar einbinden und aufrufen Allgemeine Java-Themen 5
J Console aufrufen Allgemeine Java-Themen 1
F In OSX: Java-Programm über URI-Scheme aufrufen mit Parameter? Allgemeine Java-Themen 0
A Funktionen aufrufen nach Schema x Allgemeine Java-Themen 2
B Datei innerhalb des JARs von einer statischen Methode aufrufen Allgemeine Java-Themen 4
M Klassen Klasse Dynamisch laden und Konstruktor aufrufen Allgemeine Java-Themen 1
D Eclipse Methode einer anderen Klasse aufrufen Allgemeine Java-Themen 14
E Aus MainActivity SubActivity aufrufen, von dort Methode in MainActivity aufrufen Allgemeine Java-Themen 3
B Benutzeroberfläche in anderer Klasse aufrufen Allgemeine Java-Themen 5
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
K JNI: Methoden aus unterschiedlichen Threads aufrufen Allgemeine Java-Themen 3
J java-applikation-1.jar soll java-applikation-2 aufrufen.jar Allgemeine Java-Themen 5
B exe-Datei aufrufen und dort Konsoleneingaben machen Allgemeine Java-Themen 2
R Servelt mit <form action=""> aufrufen (.jsp) Allgemeine Java-Themen 7
T Methoden per String-Namen aufrufen Allgemeine Java-Themen 2
S ArrayList<Line2D> mit g2d.draw() aufrufen Allgemeine Java-Themen 27
C Mehothode in anderenm Thread aufrufen Allgemeine Java-Themen 10
C Applet per Greasemonkey aufrufen Allgemeine Java-Themen 9
E Methode schützen vor nochmaligen Aufrufen Allgemeine Java-Themen 4
C Abstrakte Klasse soll Methode aus Unterklasse aufrufen Allgemeine Java-Themen 3
R synchronized methode rekursiv aufrufen Allgemeine Java-Themen 5
X Dynamisch Konstruktor aufrufen Allgemeine Java-Themen 12
X Action in Action aufrufen Allgemeine Java-Themen 2
G super- Methode aufrufen Allgemeine Java-Themen 21
F Anderes Java-Programm aufrufen Allgemeine Java-Themen 2
S Überschriebene Methode eines generischen Typen aufrufen Allgemeine Java-Themen 4
R Exe datei aufrufen Allgemeine Java-Themen 6
T Webservice definieren und andere Webservice aufrufen Allgemeine Java-Themen 8
K Java Konstruktoren beim Initialisieren aufrufen Allgemeine Java-Themen 10
A HTML-Seite aufrufen, drucken und zum Programm zurückkehren Allgemeine Java-Themen 2
V linuxprogramm unter java aufrufen??? Allgemeine Java-Themen 4
C JTextComponent - mit Schlagwörter Funktion aufrufen Allgemeine Java-Themen 2
P Copy-Constructor aufrufen - Wie ??? Allgemeine Java-Themen 3
A monitoren von Methoden Aufrufen Allgemeine Java-Themen 3
SuperSeppel13 php-funktion aufrufen Allgemeine Java-Themen 5
thE_29 Generic Methoden die sich aufrufen wollen nicht immer Allgemeine Java-Themen 12
J Methode mit HttpClient aufrufen Allgemeine Java-Themen 5
B Linux: Bash von Java aus aufrufen Allgemeine Java-Themen 10
0 Methode von Basisklasse aufrufen Allgemeine Java-Themen 10
J Setter mittels invoice aufrufen Allgemeine Java-Themen 4
S Perl Skript über Java aufrufen Allgemeine Java-Themen 10
Chris81T Apache FOP 0.20-5 mit JNI von C++ Code aufrufen Allgemeine Java-Themen 8
Chris81T JNI: Java Methoden von C++ Code aufrufen Allgemeine Java-Themen 8
K JUnit: Tests über ant aufrufen Allgemeine Java-Themen 2
E textdatei über "öffnen mit" aufrufen Allgemeine Java-Themen 6
G Funktion aus array aufrufen Allgemeine Java-Themen 16
M Methode vor dem Schließen aufrufen Allgemeine Java-Themen 4
Z Seiten nacheinander aufrufen (Wichtig :) Allgemeine Java-Themen 10
K Funktion unabhängig vom Namen aufrufen Allgemeine Java-Themen 5
G Java Klasse in einem anderen Verzeichnis aufrufen Allgemeine Java-Themen 3
sparrow Ant build-files rekursiv aus ant aufrufen Allgemeine Java-Themen 3
G Ant von Java aufrufen Allgemeine Java-Themen 2
E WinRar aus Java aufrufen Allgemeine Java-Themen 10
P static-Methode aus dem Konstruktor aufrufen Allgemeine Java-Themen 6
R EXE, die in einem JAR liegt, aufrufen Allgemeine Java-Themen 3
G python scripte aus java aufrufen Allgemeine Java-Themen 2
P pythonscripte aus java aufrufen, probleme mit berechtigungen Allgemeine Java-Themen 3
E externe Anwendung aufrufen und sich selbst beenden Allgemeine Java-Themen 8
G KeyListener: Wiederholtes Aufrufen von KeyPressed verhindern Allgemeine Java-Themen 3
MQue Methoden in verschiedenen Klassen aufrufen Allgemeine Java-Themen 21
S Fortran Funktion mit JNI aufrufen: java.lang.UnsatisfiedLink Allgemeine Java-Themen 2
K Servlet im Browser aufrufen Allgemeine Java-Themen 3
MQue Methode aus run() aufrufen bzw. implementieren Allgemeine Java-Themen 5
E paintComponent() aufrufen Allgemeine Java-Themen 2
H Variablen (A1, A2, A3 mit A_irgendetwas aufrufen) ohne Array Allgemeine Java-Themen 5
G Syntax-Fehler beim aufrufen von generischen Klassenmethoden Allgemeine Java-Themen 4
C Methoden mit variabler Parameteranzahl aufrufen Allgemeine Java-Themen 9
M jni Spezialfall: java-erzeugte dll in java aufrufen Allgemeine Java-Themen 6
K überschriebene Methode von Vor-Vorfahren aufrufen Allgemeine Java-Themen 6
I Servlet von einem Swing Based GUI aufrufen Allgemeine Java-Themen 5
A Programm beim Hochfahren des Betriebsystems aufrufen Allgemeine Java-Themen 3
A in patterns funktionen aufrufen Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben