Variable in anderen Klassen benutzen

rodanyboy

Grünschnabel
Hallo,
ich habe ein Programm bekommen welches eine Superklasse und eine Subklasse enthält.
In der Subklasse arbeite ich mit verschiedenen Variablen ( int i)
sowie mit Arrays.
Diese möchte ich jetzt in der Superklasse weiterbenutzen.
Ich bekomme es aber leider nicht hin. Währe nett falls mir einer helfen könnte.

Danke
 
Benutzt die Superklasse die Subklasse nur oder ist die Subklasse auch abgeleitet?
Im ersten Fall würde es sicher reichen, die Variablen in der Subklasse als public zu deklarieren.

Edit: Bei mir klappt folgendes:

Code der Superklasse
Code:
package testpackage;

public class Superclass {

	static Subclass cls = new Subclass();
	
	public static void main(String[] args)
	{
		System.out.println(cls.work(2));
		System.out.println(cls.lastI);
	}
}

Code der Subklasse:
Code:
package testpackage;

public class Subclass extends Superclass {

	public int work(int i)
	{
		lastI=i;
		return i*2;
	}
	
	public int lastI = 0;
}
 
Zuletzt bearbeitet:
Danke

So einfach darauf zugreifen? Ich denke wenn die Variablen public sind, können sie nur von Methoden und Objekten der eigenen Klasse genutzt werden.
Aber kann auch sein das ich falsch liege, dazu müßte ich länger programmmieren.

Ich habe jedenfalls in Eclipse über rMT - source - mit Getters und Setters gearbeitet. In der Subklasse die Variablen (hat sich sogar um Listen gehandelt) über Getters und Setters zugängig machen. In der Superklasse kann dann mit .get() auf ... zugegriffen werden!
z.B.
Double dz = myActionListener.getZkomp().get(index);

auf Zkomp aus Klasse myActionListener zugreifen

Gruß
Dr. Java
 
So einfach darauf zugreifen? Ich denke wenn die Variablen public sind, können sie nur von Methoden und Objekten der eigenen Klasse genutzt werden.

genau andersrum ;-) public = öffentlich --> alle Klassen können dieses Element sehen...
anders bei private, protected oder wie das bei Java auch heißen mag...
 
Das ist vom Design her aber absolut nicht schön.

Eine Superclass sollte nicht die Variablen einer Subklasse benutzen. Du solltest lieber in der Superclass die Variablen die du in beiden Klassen benutzt als protected deklarieren. Aber nachdem eine Superclass eigentlich nichts von Subklassen wissen sollte ist das andersherum nicht sinnvoll.
 
Zurück