Hallo ich hab gerade ein kleines Problem in Java. Ich habe versucht zwischen 2 Klassen eine Abstrakte Klasse in der Hierachie einzufügen. Ich hab das Problem mal mit Dummy Klassen nachgestellt:
Code
package pack1;
public class A {
protected int i;
public void A(int i){
this.i=i;
}
}
Alles anzeigen
davon erbt B
und zu guter letzt erbt hiervon C
Code
package pack2;
public class C extends B{
public C() {
}
public void blabla(C var){
if (this.i==var.i){
}
}
}
Alles anzeigen
soweit funktioniert das ganze, wenn ich allerdings den Parameter Typen von C auf B ändere, was mehr oder minder der Sinn des ganzen war:
Code
package pack2;
public class C extends B{
public C() {
}
public void blabla(B var){
if (this.i==var.i){
}
}
}
Alles anzeigen
unterwellt er mir im if das var.i mit der Meldung das i nicht visible sei.
Nur das verstehe ich nicht, sowohl B und C erben von A was man ja auch daran sieht das this.i immer geht. Warum gehts aber mit var.i nicht?