Cstar
Mitglied
Hi,
ich hab mal eine Frage zum Schlüsselwort protected:
Soweit ich weiß ist es Subklassen erlaubt auf protected-Variablen zuzugreifen...
Jedoch hab ich in einem tutorial folgenden Code gesehen, der sich aus der Superklasse "Alpha" und deren Subklasse "Delta" zusammensetzt:
----------------------------------------------
package Greek;
public class Alpha {
protected int iamprotected;
protected void protectedMethod() {
System.out.println("protectedMethod");
}
}
-----------------------------------------------
package Latin;
import Greek.*;
class Delta extends Alpha {
void accessMethod(Alpha a, Delta d) {
a.iamprotected = 10; // illegal
d.iamprotected = 10; // legal
a.protectedMethod(); // illegal
d.protectedMethod(); // legal
}
}
------------------------------------------------
Wieso soll der Code in der Klasse Delta "illegal" sein? Hier greift doch die Subklasse Delta auf die Superklasse Alpha (über das a-Object) zu. Das ist doch legal?!
mfg
ich hab mal eine Frage zum Schlüsselwort protected:
Soweit ich weiß ist es Subklassen erlaubt auf protected-Variablen zuzugreifen...
Jedoch hab ich in einem tutorial folgenden Code gesehen, der sich aus der Superklasse "Alpha" und deren Subklasse "Delta" zusammensetzt:
----------------------------------------------
package Greek;
public class Alpha {
protected int iamprotected;
protected void protectedMethod() {
System.out.println("protectedMethod");
}
}
-----------------------------------------------
package Latin;
import Greek.*;
class Delta extends Alpha {
void accessMethod(Alpha a, Delta d) {
a.iamprotected = 10; // illegal
d.iamprotected = 10; // legal
a.protectedMethod(); // illegal
d.protectedMethod(); // legal
}
}
------------------------------------------------
Wieso soll der Code in der Klasse Delta "illegal" sein? Hier greift doch die Subklasse Delta auf die Superklasse Alpha (über das a-Object) zu. Das ist doch legal?!
mfg