Super boolean

Queiser

Mitglied
Hallo zusammen. Ich habe da mal eine Frage zu Super, extends und einem Rückgabewert.
Ich habe in meiner Klasse Super zwei Klassen A und B, wobei B von A vererbt. In den Klassen A und B habe ich jeweils die Methode boolean aWert(). Ich möchte in der Klasse B, in der Methode aWert() wissen, ob in der Klasse A in der selben Methode aWert true oder false ist. Wie muss mein Rückgabewert an der Stelle sein, wo die vielen Fragezeichen stehen?
Für einen Tipp wäre ich froh.

Danke.


Java:
class Super{

    static class A{

        boolean aWert;
        boolean bWert;
        A(){
            aWert = true;  
        }

        boolean AWert(){
            return aWert;
        }
    }

    static class B extends A{
      
        B(){
            bWert = false;
        }

        boolean AWert(){
            super.AWert();
            return ???????????????????????????????????????????????;
        }
    }

    public static void main(String[] args) {
       ..........
    }
}
 

Queiser

Mitglied
Ich möchte von meiner Methode boolean AWert() in der Klasse B wissen, ob in der Klasse A, in der selben Methode der Wert aWert true oder false ist und ihn als Rückgabewert zurückgeben.
 
Zuletzt bearbeitet:

Javinner

Top Contributor
Wie wäre es damit?
Java:
public class Super
{

    protected interface ValueReturn
    {

        boolean returnValue();
    }

    protected class A implements ValueReturn
    {

        private final boolean aValue;

        public A()
        {
            aValue = true;
        }

        @Override
        public boolean returnValue()
        {
            return this.aValue;
        }
    }

    protected class B implements ValueReturn
    {

        private final A a;

        public B(A a)
        {
            this.a = a;
        }

        @Override
        public boolean returnValue()
        {
            return this.a.returnValue();
        }

    }
}

Egal wie, dein Code sieht irgendwie seltsam aus.. Welcher Sinn steckt denn dahinter?
 

Queiser

Mitglied
Für einen Javaeinsteiger wie mich hat das Wort "seltsam" sicherlich eine andere Bedeutung als für dich.
Entweder es funktioniert oder nicht.
...es war halt eine Aufgabe, wo ich vereinfacht, einen Sachverhalt rausgefischt habe.
Ich dachte, man benötigt, um auf die selbe Methode in einer Oberklasse zugreifen zu können, den Ausdruck super?
Wichtig ist auch, dass Klasse B extends A vorhanden ist.
Auf jeden Fall waren Interfaces und implements noch nicht Gegenstand der Vorlesung.
 

httpdigest

Top Contributor
Wenn B.AWert() dasselbe zurückgeben soll wie A.AWert(), dann überschreibe die Methode AWert() in B einfach nicht. Du willst innerhalb von B.AWert() wissen, ob A.AWert() true oder false zurückliefern würde?? Und was willst du dann mit der Information machen? Willst du diesen Wert dann einfach an den Aufrufer weiterleiten, dann wie gesagt - überschreibe die Methode einfach nicht. Oder willst du in B.AWert() Logik ausführen basierend auf dem Wert von A.AWert()? Dann verwende einfach das Ergebnis von `super.AWert()` innerhalb von B.AWert(). Du rufst die super-Methode ja schon auf, machst nur nichts mit dem Rückgabewert aktuell.
 

Tarrew

Top Contributor
Dein Code lässt sich eigentlich runterbrechen auf:
Java:
class Oberklasse{

    boolean aWert;

    boolean getAWert(){
        return aWert;
    }

    void setAWert(boolean aWert){
        this.aWert = aWert;
    }

}

class Unterklasse extends Oberklasse{



    public static void main(String[] args) {
        Oberklasse o1 = new Unterklasse();

        System.out.println("AWert ist: "+o1.getAWert());
        o1.setAWert(true);
        System.out.println("AWert ist: "+o1.getAWert());
       
    }
}

In deiner Unterklasse brauchst du die Methode "AWert()" garnicht, die ist komplett überflüssig. Wenn du die trotzdem implementieren willst und dabei super benutzen willst könntest du das so machen:
Java:
class Unterklasse extends Oberklasse {

    @Override
    boolean getAWert() {
        return super.getAWert();
    }

    public static void main(String[] args) {
        Oberklasse o1 = new Unterklasse();

        System.out.println("AWert ist: "+o1.getAWert());
        o1.setAWert(true);
        System.out.println("AWert ist: "+o1.getAWert());

    }
}
 

Queiser

Mitglied
@httpdigest

Oder willst du in B.AWert() Logik ausführen basierend auf dem Wert von A.AWert()?
Genau das wollte ich.
Dann verwende einfach das Ergebnis von `super.AWert()` innerhalb von B.AWert().
Wie kann ich das tun? Also wie kann ich den Wert von A.AWert() mir als boolean geben lassen?
ich kann ja in der B Klasse in der Methode AWert() nicht schreiben:
boolean Neu = super.AWert();

Ich wollte es ursprünglich so machen:
Java:
class B extends A{
      boolean AWert(){
          if(super.AWert){
                System.out.println("Stimmt");
          }else{
                System.out.println("Stimmt nicht");
          }
     }
}
@Tarrew
return super.Methode();
Das war der Ausdruck, den ich gesucht habe.
 

Queiser

Mitglied
Stimmt...............das geht doch.:(
Da muss ich vorhin etwas falsch gemacht habe. Ich entschuldig mich.

@httpdigest
Ich habe es ja getestet.
Wahrscheinlich hatte ich vor diesem super noch einen anderen Ausdruck
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A "Super" anwenden Java Basics - Anfänger-Themen 13
mrStudent <? extends T> und <? super T> Java Basics - Anfänger-Themen 1
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
M Super(); Java Basics - Anfänger-Themen 1
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
N extends und super vs new object Java Basics - Anfänger-Themen 4
CptK Vererbung Attributtyp in Super-Klasse noch nicht festlegen Java Basics - Anfänger-Themen 1
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
B super vs. this Java Basics - Anfänger-Themen 24
M Was macht super (...)? Java Basics - Anfänger-Themen 1
E Daten dem Super Aufruf übergeben Java Basics - Anfänger-Themen 3
Henri Aufruf von getX() und getY() aus der Super klasse Objekt() Java Basics - Anfänger-Themen 3
N Frage zu this, super und return Java Basics - Anfänger-Themen 13
E this() / super() Java Basics - Anfänger-Themen 7
T super Java Basics - Anfänger-Themen 3
G funktionen der super-klasse von der super-klasse Java Basics - Anfänger-Themen 6
O Vererbung this innerhalb von super Java Basics - Anfänger-Themen 7
X Frage zu Sub/Super Klassen Java Basics - Anfänger-Themen 7
V Vererbung (wie) kann man eine 'super'-Methode auf ein Objekt anwenden ? Java Basics - Anfänger-Themen 6
E Erste Schritte <? super Unterklasse> Return-Typ darf nicht vom Wildcard-Typ sein Java Basics - Anfänger-Themen 5
E Erste Schritte Lower Bounded Wildcards <? super Integer> Java Basics - Anfänger-Themen 1
K Vererbung (super) Java Basics - Anfänger-Themen 2
C Super und Unterklassen Java Basics - Anfänger-Themen 6
Avarion Getter von Super-Klasse funktioniert nicht Java Basics - Anfänger-Themen 10
I Verständnisfrage zu BridgePattern, Verwedung von super() Java Basics - Anfänger-Themen 4
llabusch Vererbung Super Konstruktor Java Basics - Anfänger-Themen 5
Z Super einfache Frage For-Schleife im Detail Java Basics - Anfänger-Themen 3
vandread Java Wildcards - Wann super wann extends? Java Basics - Anfänger-Themen 2
A Super Klasse Java Basics - Anfänger-Themen 3
O OOP super aufruf 2 objekte? Java Basics - Anfänger-Themen 3
S super() im Konstruktor Java Basics - Anfänger-Themen 12
L Erste Schritte Super Constructor mit Array - Liste? Java Basics - Anfänger-Themen 15
A Shallow copy .super.clone() Java Basics - Anfänger-Themen 2
P Vererbung super() ohne Parameter Java Basics - Anfänger-Themen 2
D Super und Sub-Klassen Java Basics - Anfänger-Themen 2
D super.tostring Java Basics - Anfänger-Themen 8
A Super-Anweisung in abstrakter Klasse Java Basics - Anfänger-Themen 12
K Überschreiben einer "super.super"-Methode Java Basics - Anfänger-Themen 6
Luk10 super() und this Java Basics - Anfänger-Themen 7
S super() aufruf ausgabe Java Basics - Anfänger-Themen 3
L Frage zu Generics: "super" Java Basics - Anfänger-Themen 16
S super.paint() Java Basics - Anfänger-Themen 4
G Vererbung, Konstruktoranweisungen VOR super() Java Basics - Anfänger-Themen 4
G Variablen initialisieren vor super() Java Basics - Anfänger-Themen 8
H Konstruktoren – super! Java Basics - Anfänger-Themen 3
A Am Buch lesen, nun brauch ich eure Hilfe um mir super() zu erklären Java Basics - Anfänger-Themen 4
J Problem mit super Java Basics - Anfänger-Themen 10
G super operator und incompatible types, simple fehler Java Basics - Anfänger-Themen 8
kulturfenster super.paintComponent(g); Java Basics - Anfänger-Themen 3
J abstrakte klasse und methode super Java Basics - Anfänger-Themen 2
B super methode aufrufen und ergänzen? Java Basics - Anfänger-Themen 5
G Innerhalb von Runnable auf super. zugreifen? Java Basics - Anfänger-Themen 3
X this dynamisch, super statisch? Java Basics - Anfänger-Themen 3
A Frage zu super, abstracte Klassen und Kapselung Java Basics - Anfänger-Themen 3
G frage zu vererbung (super) Java Basics - Anfänger-Themen 10
G super(null) Java Basics - Anfänger-Themen 7
F Der "super" Ausdruck Java Basics - Anfänger-Themen 4
S was macht super() ? Java Basics - Anfänger-Themen 7
J Konstruktor der Oberklasse und super Java Basics - Anfänger-Themen 1
W super.methode Java Basics - Anfänger-Themen 2
G neues String Array in super() übergeben Java Basics - Anfänger-Themen 3
I call to super must be first statement in constructor Java Basics - Anfänger-Themen 3
K java syntax: wofür steht super(screen)? Java Basics - Anfänger-Themen 5
S Verwendung von Super Java Basics - Anfänger-Themen 7
P super an methode übergeben Java Basics - Anfänger-Themen 8
S supertyp steht ohne super in hierachy - eclipse Java Basics - Anfänger-Themen 4
U super-Konstruktor Aufrufen mit Object, dass Exception wirft Java Basics - Anfänger-Themen 2
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
B Rückgabewert boolean Java Basics - Anfänger-Themen 8
J Compiler-Fehler Harshadzahlen mit Boolean Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
A Boolean Java Basics - Anfänger-Themen 5
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
J Boolean[] teilen Java Basics - Anfänger-Themen 13
S public static boolean Java Basics - Anfänger-Themen 4
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
L Überschriebene Boolean Statements Java Basics - Anfänger-Themen 2
L boolean-Abfrage enumeration Java Basics - Anfänger-Themen 3
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
R Boolean value ohne Kontrollstrukturen ändern Java Basics - Anfänger-Themen 5
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
Kirby.exe ArrayOutOfBoundsException bei boolean Array Java Basics - Anfänger-Themen 19
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
I converting boolean Array to String Array Java Basics - Anfänger-Themen 10
C Java Boolean reagiert nicht Java Basics - Anfänger-Themen 18
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
K Boolean in einer erstellten Klasse verwenden Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben