Vererbung Vererbung von privaten Variablen

bbacardi

Mitglied
Guten Tag!
Ich habe 2 Dateien: Lebewesen.java und Tier.java
Tier erbt von Lebewesen.
In der Datei Lebewesen habe ich eine Variable "private int alter".
Jetzt möcht ich in der Tier Datei auf diese zugreifen, jedoch bekomme ich einen Fehler, dass die Variable einen privaten Zugriff hat:
q6afdeg7.jpg

Wenn ich die Variable public setze, funktioniert alles. Jedoch war sie nun mal als private vorgegeben.
Weiß jemand wie ich mein Programm trotzdem zum laufen bekomme? Vielen Dank! :)
 
Zuletzt bearbeitet von einem Moderator:

pl4gu33

Top Contributor
Entweder machst du die Variable protected oder du machst dir public/protected Getter/Setter- dazu, je nachdem, wie du brauchst :)
 

eRaaaa

Top Contributor
private heißt nun mal dass die variable nur in dieser Klasse sichtbar ist...wenn du dies nicht ersetzen darfst z.B. durch protected, musst du eben entsprechende (Zugriffs-)Methoden einbauen und nutzen
 

Phash

Top Contributor
Java:
private int alter;

public int getAlter(){return alter;}
public void setAlter(int pAlter){alter = pAlter;}

Kapselung - du koenntest zum Beispiel den setter so aendern, dass er das Alter prueft - beispielsweise darf das alter immer nur groesser werden...

du kannst aber auch eine alterungsmethode einbauen und den Setter wegwerfen:
Java:
public void geburtstag() {alter++;}
 
S

Spacerat

Gast
Ich würde eigentlich grundsätzlich Getter und Setter verwenden, protegierte oder öffentliche Member sollten unveränderlich (final) sein. Der Grund dafür ist, dass Member evtl. ungültige Werte setzen könnten (z.B. null bei Objekten). Mit Gettern und Settern dagegen hat man die Möglichkeit diese Werte aug Gültigkeit zu prüfen und evtl. defaults zu setzen.
 

bbacardi

Mitglied
Danke für die zahlreichen Antworten, aber ich darf weder Setter noch Getter verwenden. Hier mal der Code:

Java:
package leben;
public abstract class Lebewesen
{
	private int alter;
	public Lebewesen(int alter){this.alter = alter;}
	public Lebewesen(){alter = 1;}
	public String text(){return "Alter: " + alter;}
}

Java:
package leben;


class LebewesenTest{
	public static void main(String[] args){
		Druckbar[] dr = new Druckbar[2];
		
		dr[0] = new Tier(3, "Maus", 'w');
		dr[1] = new Tier("Katze", 'm');
		for (int i = 0; i < dr.length; i++)
			system.out.printl(dr[i]);
	}
}

Java:
package leben;

interface Druckbar{
	public abstract String toString();
}

Java:
package leben;
public class Tier extends Lebewesen implements Druckbar
{

	String name;
	char geschlecht;
	Tier(int alter, String name, char geschlecht){
		this.alter = alter;
		this.name = name;
		this.geschlecht = geschlecht;
	}
	
	Tier(String name, char geschlecht){
		this.name = name;
		this.geschlecht = geschlecht;
	}
	
	public String toString(){
		return String.format("Alter: %s\nName: %s\nGeschlecht: %s", alter, name, geschlecht);
	}

}
]

In der Tier Datei habe ich jetzt noch weitere Eigenschaften (eine andere Datei wird später wieder von dieser erben), neben dem Alter. Die ersten 3 Dateien waren vorgegeben.
 
G

Gast2

Gast
Etwas hingefrickelt (und bestimmt nicht Sinn der Aufgabe!) könntest du das so lösen:
Java:
public class Tier extends Lebewesen implements Druckbar
{
 
    String name;
    char geschlecht;
    Tier(int alter, String name, char geschlecht){
        super (alter);
        this.name = name;
        this.geschlecht = geschlecht;
    }
    
    Tier(String name, char geschlecht){
        this.name = name;
        this.geschlecht = geschlecht;
    }
    
    @Override
	public String toString(){
        return String.format("%s\nName: %s\nGeschlecht: %s", text(), name, geschlecht);
    }
}
 

pl4gu33

Top Contributor
Java:
 Tier(int alter, String name, char geschlecht){
        super(alter);
        this.name = name;
        this.geschlecht = geschlecht;
    }

so könntest du es lösen....

ps. zu spät...
 
N

nillehammer

Gast
Muss bei Aufruf von super(...) immer eine Variable übergeben werden? (Antwort: Nein:D) Wenn Du gerne defaultmäßig eine (KONSTANTE) 1 hättest? Wie würde dann der Aufruf von super(..) aussehen?
[EDIT]Hä?!? Hast Du gerade Deine Frage gelöscht? So macht der Post hier ja nicht mehr viel Sinn...:autsch:[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
1 Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
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
ReinerCoder 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
MiMa 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

Ähnliche Java Themen

Neue Themen


Oben