M
maho77
Gast
Hallo,
folgend Konstellation habe ich:
Also, ich habe in ClassA eine Konstante definiert, damit ich diese in der switch-Anweisung benutzen kann. Nun erbt ClassB eigentlich alle Eigenschaften von ClassA, außer ich überschreibe sie.
Instanziere ich nun ClassB und rufe getKonstante auf, hat KONSTANTE den Wert 1 und nicht 5. :
Wieso? Ich habe gedacht es liegt an der Sichtbarkeit und habe diese auf protected oder public gesetzt, was aber auch keine Änderung brachte.
Was mache ich falsch?
Bin eher ein Java Neuling!
Danke,
Mark
folgend Konstellation habe ich:
Code:
class ClassA {
private static final int KONSTANTE = 1;
public void sw(int arg0){
switch(arg0){
case 0:
//mache was
case KONSTANTE:
System.out.println(KONSTANTE);
//mache was
default:
//mache was
}
}
public int getKonstante(){
return KONSTANTE;
}
}
class ClassB extends ClassA{
private static final int KONSTANTE = 5;
}
Also, ich habe in ClassA eine Konstante definiert, damit ich diese in der switch-Anweisung benutzen kann. Nun erbt ClassB eigentlich alle Eigenschaften von ClassA, außer ich überschreibe sie.
Instanziere ich nun ClassB und rufe getKonstante auf, hat KONSTANTE den Wert 1 und nicht 5. :
Code:
ClassB cb = new ClassB();
System.out.println(getKonstante());
Was mache ich falsch?
Bin eher ein Java Neuling!
Danke,
Mark