Vererbung Methodenaufruf funktioniert aber Wertzuweisung von Variablen nicht

phraid

Mitglied
Hallo zusammen,

ich habe ein Problem bezüglich Vererbung. Ich habe relativ viel Code deswegen versuch ich das ganze etwas abstrahiert darzustellen. Ich habe 3 Klassen A,B,C die jeweils voneinander erben also C erbt von B und B erbt von A sprich A->B->C.
In der Klasse B habe ich jeweils protected Variablen angelegt die bestimmte Werte innerhalb einer Methode von Klasse B zugewiesen bekommen. In der Klasse C ruf ich im Konstruktor über super() den Konstruktor von Klasse B auf. Der Aufruf funktioniert auch soweit allerdings kommt dann das Problem: Die Variablen die in Klasse B definiert sind bekommen keine Werte zugewiesen. Also irgendwie wird mein Algorithmus der in einer Methode der Klasse B definiert ist gestartet allerdings bekommen die Variablen aus B keine Wertzuweisungen, sodass ich von der Klasse C drauf zugreifen kann.

mfG
 
S

SlaterB

Gast
poste doch einfach Code, damit man nicht Rätselraten muss,

ein Standardfehler bei sowas, der hier aber nicht der Fall zu sein scheint:
Klasse C überschreibt eine Basisklasse-Methode, die durch Aufruf in einem Basisklasse-Konstruktor aktiviert wird,
und in der Klasse C dann auf Instanzattribute zugreift, die noch nicht gesetzt sind, weil der Klasse C-Konstruktor das machen soll
und noch nicht dran war, schließlich erfolgt der Aufruf gerade aus einem Konstruktor der Basisklasse
 

phraid

Mitglied
Das ganze sieht in etwa so aus

Code:
Class A extends Serializable {
    public A(){
        super();
    }
}


Class B extends A{
    public B(){
        super();
    }

   public void solve(){
       conduct();
   }

   protected abstract void conduct(){
   }
}


Class C extends B {

    protected int v1 = 0;
    protected int v2 = 0;
    ...

    public C(){
        super();
    }

    protected void conduct(){
        v1 = 1;
        v2 = 2;
        ...
    }
}


Class D extends C {
    public D(){
        super();
        init();
   }

   public void init(){
       if(v1 > 0)...              // Hier ist das Problem, v1 ist immer 0
   }
}

mfG
 
S

SlaterB

Gast
solve() auch nicht und dieser Satz
> In der Klasse B habe ich jeweils protected Variablen angelegt die bestimmte Werte innerhalb einer Methode von Klasse B zugewiesen bekommen.
kann ja nur eine glatte Lüge sein bei Code ohne Variablen in B ;)
 

phraid

Mitglied
Achso, ich vergas zu erwähnen, dass in einer Evaluierungsklasse die solve()-Methode aufgerufen wird.

Code:
Class Eval{

    public static void main(){

        B test = new D();
        test.solve();
    }
}
 

phraid

Mitglied
solve() auch nicht und dieser Satz
> In der Klasse B habe ich jeweils protected Variablen angelegt die bestimmte Werte innerhalb einer Methode von Klasse B zugewiesen bekommen.
kann ja nur eine glatte Lüge sein bei Code ohne Variablen in B ;)

Wie gesagt, solve() wird in einer Evaluierungsklasse aufgerufen. Die A,B,Cs aus dem Erstellungspost passen nicht mehr ganz auf den Code da ich das ganze jetzt detaillierter gemacht habe.

mfG
 

HimBromBeere

Top Contributor
Eine -able-Klasse erweitert man übrigens nicht, sondern implementiert sie (ginge auch, aber ich glaub nicht, dass du das brauchst). Wie auch immer: eine abstrakte Methode wie du sie in Klasse B definierst hat keinen Methodenrumpf, auch keinen leeren, das sollte eigtl. einen Compilerfehler geben. Mach die geschweiften Klammern da weg und stattdessen ein Semikolon hin.

EDIT: Deine angeblich protected Variablen in B haste aber immer noch nicht beschrieben.
 
S

SlaterB

Gast
D statt C nun,
Java:
protected abstract void conduct(){
   }
kann man gar nicht programmieren, von großgeschriebenen Klassen ganz zu schweigen,

wie soll da jemand durchsehen?
poste ein komplettes Code-Beispiel, auch inklusive Code wie Ausgaben zur Prüfung des Ergebnis,
was auch immer das genau ist (welche Variable hat welchen falschen Wert und soll welchen anderen haben?)

> EDIT: Deine angeblich protected Variablen in B haste aber immer noch nicht beschrieben.
vielleicht ja C, in B selber wird bestimmt nur solve() aufgerufen, das ist genug Beitrag
 

phraid

Mitglied
Das Problem hat sich erledigt. Das Problem war dass auf bestimmte Variablen zugegriffen worden ist, bevor der Algorithmus sie überhaupt setzen konnte. Danke für die Hilfe.

mfG
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Rekursiver Methodenaufruf funktioniert nicht Java Basics - Anfänger-Themen 7
D Methoden g.setColor funktioniert nicht bei Methodenaufruf in anderer Klasse Java Basics - Anfänger-Themen 1
C Methodenaufruf mit geänderten Argumenten Java Basics - Anfänger-Themen 10
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
N methodenaufruf for each geht nicht Java Basics - Anfänger-Themen 2
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
O Methodenaufruf Java Basics - Anfänger-Themen 5
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
Queiser Methodenaufruf Java Basics - Anfänger-Themen 2
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
I Java Methodenaufruf Java Basics - Anfänger-Themen 9
A OOP Methodenaufruf in einer anderen Klasse Java Basics - Anfänger-Themen 2
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
M Methodenaufruf über SQL UPDATE Java Basics - Anfänger-Themen 8
M Methodenaufruf in der Main Datei funzt nicht Java Basics - Anfänger-Themen 13
BadBat Klassen instanz als variable + methodenaufruf Java Basics - Anfänger-Themen 4
M Methodenaufruf in Methode Java Basics - Anfänger-Themen 6
M Objekt Name für MethodenAufruf nachträglich zuweisen? Java Basics - Anfänger-Themen 2
J if() mit Methodenaufruf kombiniert (Pixelerkennung) Java Basics - Anfänger-Themen 3
A Probleme beim Methodenaufruf von Object[] ! Java Basics - Anfänger-Themen 12
A Probleme beim Methodenaufruf von char[] ! Java Basics - Anfänger-Themen 10
M Methoden Methodenaufruf allgemein Java Basics - Anfänger-Themen 3
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
O Methodenaufruf Java Basics - Anfänger-Themen 6
F Methodenaufruf Java Basics - Anfänger-Themen 1
F Erste Schritte Label Text vor Methodenaufruf setzen Java Basics - Anfänger-Themen 17
J Array mit Methodenaufruf Java Basics - Anfänger-Themen 2
S Problem bei Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 3
OnDemand Methodenaufruf Java Basics - Anfänger-Themen 3
A Methoden Benutzerdefinierter Methodenaufruf Java Basics - Anfänger-Themen 4
O Methodenaufruf - Inhaltsveränderung Java Basics - Anfänger-Themen 23
G Methodenaufruf anderer Klasse Java Basics - Anfänger-Themen 18
L Einfacher Methodenaufruf vs. Objekt Java Basics - Anfänger-Themen 4
O Methodenaufruf im Konstruktor Java Basics - Anfänger-Themen 6
G was ist ein Methodenaufruf mit (){}? Java Basics - Anfänger-Themen 6
S Methoden Klassen Definition - Methodenaufruf Java Basics - Anfänger-Themen 7
K Methoden Methodenaufruf für BufferedWriter .. Java Basics - Anfänger-Themen 5
feardorcha Methodenaufruf Übergabe- und Rückgabewert Java Basics - Anfänger-Themen 5
W Methodenaufruf innerhalb einer Klasse - static vs. this Java Basics - Anfänger-Themen 3
A Problem bei Methodenaufruf Java Basics - Anfänger-Themen 6
B Parameterausführung bei Methodenaufruf Java Basics - Anfänger-Themen 8
A Methodenaufruf Java Basics - Anfänger-Themen 4
S methodenaufruf Java Basics - Anfänger-Themen 8
G Erste Schritte Methodenaufruf, Variablen-Deklaration Java Basics - Anfänger-Themen 6
L Methodenaufruf in main() Java Basics - Anfänger-Themen 3
M Methodenaufruf in for-Schleife - nur 1 mal ausgegeben Java Basics - Anfänger-Themen 3
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
I Methoden Rückverfolgung Methodenaufruf Java Basics - Anfänger-Themen 15
E Methoden Wie kann ich eine Methode so schreiben, dass Methodenaufruf polymorph erfolgen kann? Java Basics - Anfänger-Themen 8
M Methoden Methodenaufruf mit .class. Java Basics - Anfänger-Themen 2
J rekursiver Methodenaufruf Java Basics - Anfänger-Themen 12
K Klassen this-Referenz und Klassen/Methodenaufruf Syntax Java Basics - Anfänger-Themen 3
T Java mehrfacher Methodenaufruf Java Basics - Anfänger-Themen 15
L Methodenaufruf aus anderer Klasse Java Basics - Anfänger-Themen 5
B Quicksort --> Methodenaufruf Java Basics - Anfänger-Themen 10
O Methodenaufruf Java Basics - Anfänger-Themen 4
A nullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 16
J Vererbung, Methodenaufruf Java Basics - Anfänger-Themen 4
M Problem bei Methodenaufruf aus ActionListener Java Basics - Anfänger-Themen 5
G Methodenaufruf aus der Kommandozeile Java Basics - Anfänger-Themen 28
N Methodenaufruf funtioniert nicht Java Basics - Anfänger-Themen 3
C Methodenaufruf mit Variablen die gesetzt werden Java Basics - Anfänger-Themen 10
Antoras mit ActionListener/Methodenaufruf Textfelder zeichnen Java Basics - Anfänger-Themen 4
G Dynamischer Methodenaufruf Java Basics - Anfänger-Themen 3
G Methodenaufruf über ein Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
H ungültige methodenaufruf Java Basics - Anfänger-Themen 16
G Methodenaufruf Java Basics - Anfänger-Themen 3
G Frage zu Oberklasse bei Methodenaufruf Java Basics - Anfänger-Themen 2
V Dynamischer Klassen bzw. Methodenaufruf Java Basics - Anfänger-Themen 6
V Wie und wieso geht dieser Methodenaufruf? Java Basics - Anfänger-Themen 2
S Methodenaufruf Java Basics - Anfänger-Themen 6
G Methodenaufruf in der for-Schleife mit Array Java Basics - Anfänger-Themen 7
L hsqldb Methodenaufruf Java Basics - Anfänger-Themen 10
K synchron und asynchroner Methodenaufruf Java Basics - Anfänger-Themen 17
R Fehler bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 3
T NullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 10
K Klassenübergriefendes Methodenaufruf Problem Java Basics - Anfänger-Themen 6
S methodenaufruf. Java Basics - Anfänger-Themen 16
G methodenaufruf Java Basics - Anfänger-Themen 4
E Methodenaufruf mittels variable? kA Java Basics - Anfänger-Themen 5
G methodenaufruf Java Basics - Anfänger-Themen 3
G methodenaufruf Java Basics - Anfänger-Themen 5
W Überschreiben und Methodenaufruf Java Basics - Anfänger-Themen 3
L Methodenaufruf zwischen Klassen Java Basics - Anfänger-Themen 3
C Methodenaufruf mit throws IOException Java Basics - Anfänger-Themen 2
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben