• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Vererbung Klassenattribute

1

18j

Mitglied
Hallo, ich habe gelernt, dass wenn die Oberklasse ein Klassenattribut mit einem bestimmten Wert hat, dass die Unterklasse diesen Wert mit erbt. Jedoch verstehe ich nicht, wieso bei diesem Beispiel es nicht mit vererbt wird. Ich weiß, dass Instanzvariablen nicht vererbt werden aber hier wäre es anders.

public class Opel {

public static String Name;

public static void main(String[] args) {
Opel.Name = "Adam";
System.out.println("Opel.Name:" + Name);
System.out.println("Astra.Nameastra:" + Astra.Nameastra);
System.out.println("Astra.Name:" + Astra.Name);

}
}
class Astra extends Opel{
public static String Nameastra;
public static String Name;
}

Vielen Dank im Voraus.
 
J

Joreyk

Bekanntes Mitglied
1. du erzeugst nirgends ein Astra Objekt
2. du setzt es nirgends
3. ich bin sehr überrascht dass das über haupt funktioniert :D
4. vererbung mit statischen Variablen macht nur WENIG Sinn
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Ich weiß, dass Instanzvariablen nicht vererbt werden aber hier wäre es anders.
Andersrum: Instanz-Variablen werden vererbt, statische Variablen allerdings nicht.

In deinem Beispiel gibt es jetzt zwei unabhängige Variablen: Astra.Name und Opel.Name. Die heißen nur "zufällig" gleich, und die eine Variable verdeckt die andere, es sind aber trotzdem zwei unabhängige.



1. du erzeugst nirgends ein Astra Objekt
Ist ja auch alles static :)
2. du setzt es nirgends
Die werden implizit auf null gesetzt.
3. ich bin sehr überrascht dass das über haupt funktioniert :D
Warum sollte es nicht?
 
J

Joreyk

Bekanntes Mitglied
Andersrum: Instanz-Variablen werden vererbt, statische Variablen allerdings nicht.



Ist ja auch alles static :)

Die werden implizit auf null gesetzt.

Warum sollte es nicht?
Und was bringt es dann wenn absolut alles static ist?
die Vererbung bringt gar nichts weil die Super Klasse hat Name
und Astra auch es wird nichts übernommen
und alles ist static


die Werte von Astra werden niemals "sinnvoll" gesetzt


Java:
package algo;
public class Main {

        public String Name;

        public static void main(String[] args) {
            Astra ast = new Astra();
            ast.Nameastra = "bob2";
            ast.Name = "bob3";
            Main opel = new Main();
            opel.Name="Main1";
        
        System.out.println("Opel.Name:" + opel.Name);
        System.out.println("Astra.Nameastra:" + ast.Nameastra);
        System.out.println("Astra.Name:" + ast.Name);

        }
    }

        class Astra extends Main{
        public String Nameastra;
        }

So würde es mehr sinn Machen nur die Main in ein Objekt rein zu verschachteln verwirrt mich selber nur die Müsste man noch raus ziehen
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Und was bringt es dann wenn absolut alles static ist?
die Vererbung bringt gar nichts weil die Super Klasse hat Name
und Astra auch es wird nichts übernommen
und alles ist static


die Werte von Astra werden niemals "sinnvoll" gesetzt
Natürlich ist das Beispiel sinnlos, es zeigt höchstens Shadowing :)
 
1

18j

Mitglied
Das, was ich nicht verstehe ist warum hier -> System.err.println("Astra.Name:" + Astra.Name); nicht "Adam" ausgegeben wird. Es ist ein Beispiel aus den Folien.
 
J

Joreyk

Bekanntes Mitglied
Das, was ich nicht verstehe ist warum hier -> System.err.println("Astra.Name:" + Astra.Name); nicht "Adam" ausgegeben wird. Es ist ein Beispiel aus den Folien.
du hast die Klasse Opel -> hat 1einziges mal name

du hast die Klasse Astra -> hat 1einziges mal name , hat ein einziges mal AstraName

da dieses ganze zeug statisch ist wird schon mal GAR nichts vererbt

dein Println bezieht sich auf Astra und java "nimmt mal das von Astra" und das wäre in Astra der Name der niemals gesetzt wurde

Ausserdem ist der Code furchterbar....

versuch es mit meinem Beispiel zu verstehen
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Das, was ich nicht verstehe ist warum hier -> System.err.println("Astra.Name:" + Astra.Name); nicht "Adam" ausgegeben wird. Es ist ein Beispiel aus den Folien.
Astra.Name und Opel.Name sind verschiedene, unabhängige statische Variablen.

Open.Name setzt du auf Adam, Astra.Name wird aber nirgendwo gesetzt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
scitex Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
M Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1
M Anfängerprobleme mit Vererbung Java Basics - Anfänger-Themen 27
J Vererbung Java Basics - Anfänger-Themen 9
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
M Vererbung - Cannot Find Symbol constructor... Java Basics - Anfänger-Themen 11
S Problem bei Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 3
H Polymorphie Verständnisproblem Vererbung/Polymorphie Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 11
D Klausur Vorbereitung: Listen, Rekursion, Bäume & Vererbung Java Basics - Anfänger-Themen 3
T Deutschverständnis-Frage zur Vererbung Java Basics - Anfänger-Themen 5
B Erste Schritte Vererbung klappt nicht Java Basics - Anfänger-Themen 24
A Klasse,Vererbung,Interface,Singleton,Thread Java Basics - Anfänger-Themen 5
M Warum ist Vererbung angeblich problematisch? Java Basics - Anfänger-Themen 8
P Vererbung Java Basics - Anfänger-Themen 2
J Vererbung Hilfe zu Klassen / Vererbung Java Basics - Anfänger-Themen 12
E Vererbung Frage zu Zugriffsrechten/Vererbung Java Basics - Anfänger-Themen 3
P Vererbung Java Basics - Anfänger-Themen 6
X Vererbung Vererbung Frage Java Basics - Anfänger-Themen 6
F Überschreiben nach einer Vererbung Java Basics - Anfänger-Themen 2
V Vererbung Vererbung, Interfaces und OOP... Java Basics - Anfänger-Themen 10
S Vererbung/Globale Variablen Java Basics - Anfänger-Themen 8
Z Vererbung: Java Basics - Anfänger-Themen 3
J Redefinieren der Vererbung Java Basics - Anfänger-Themen 10
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben