2012-04-04 6 views
-2

I 2 Klassen erstellt haben, wie folgt ...Wie kann mit Java auf eine Klassenvariable in einer anderen Klasse zugegriffen werden?

public class A extends JFrame { 
    public String x = "abcdefg"; 
} 

public class B extends JFrame { 
    public String y; 
} 

Beide Klassen erweitern JFrame. Ich frage mich, ob es einen Weg gibt, dass die String y in Class B den Wert String x in Class A erben kann? Ich will es so, dass die Aktualisierung entweder x oder y auch den anderen String aktualisiert.

Gibt es eine Möglichkeit, diese Strings für die 2 Klassen gemeinsam zu machen?

Antwort

2

Nur Klasse B A.

public class A extends JFrame { 

} 

public class B extends A { 

} 

Aber TBH erweitern machen, wir alle denken, es eine schreckliche Idee ist öffentliche Felder zu haben!

+0

Dann statt öffentlich machen es geschützt. – Churk

0

Ich würde so etwas tun ..

class a 
{ 
    private String aVal = "abc"; 

    public String returnAVal(){ 
     return aVal; 
    } 
} 

class b extends a 
{ 
    private String y = returnAVal(); 

    public void testY(){ 
     System.out.println(y); 
    } 
} 

Hoffe, es hilft.

PhilNerd

0

Es ist nicht gute Idee Vererbung im Interesse der einzelnen varibale.check LSP zu haben.

Machen Sie es privat und geben Sie Setter und Getters Zugriff darauf.

Verwandte Themen