Java >> Java tutorial >  >> Tag >> protected

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.


Java tag