Java:kan ikke få adgang til et beskyttet medlem af superklassen i den udvidende underklasse
Klasser i andre pakker, der er underklasser af den erklærende klasse, kan kun få adgang til deres egen nedarvede protected
medlemmer.
package FirstChapter;
import JustRandomPackage.*;
public class ATypeNameProgram extends YetAnotherClass{
public ATypeNameProgram() {
System.out.println(this.variable); // this.variable is visible
}
}
... men ikke andre objekters nedarvede protected
medlemmer.
package FirstChapter;
import JustRandomPackage.*;
public class ATypeNameProgram extends YetAnotherClass{
public ATypeNameProgram() {
System.out.println(this.variable); // this.variable is visible
}
public boolean equals(ATypeNameProgram other) {
return this.variable == other.variable; // error: YetAnotherClass.variable is not visible
}
}
regningen er ikke en del af den underklassede YetAnotherClass. regningen er en separat YetAnotherClass.
Prøv int bill = this.variable;
(inde i en konstruktør) for at få adgang til underklassens medlemmer.