Zugriff auf die Instanzvariable der abstrakten Superklasse

Ich habe also zwei Klassen:Property undHouses. Property ist die abstrakte super klasse undHouses ist seine Unterklasse.

Hier ist der Code fürProperty

public abstract class Property{
     String pCode;
     double value;
    int year;

    public Property(String pCode, double value , int year){
        this.pCode = pCode;
        this.value = value;
        this.year = year;
    }

        public Property(){
            pCode = "";
            value = 0;
            year = 0;
        }
    public abstract void depreciation();

    //Accessors
    private String getCode(){
        return pCode;
    }
    private double getValue(){
        return value;
    }
    private int getYear(){
        return year;
    }
    //Mutators
    private void setCode(String newCode){
        this.pCode = newCode;
    }
    private void setValue(double newValue){
        this.value = newValue;
    }
    private void setYear(int newYear){
        this.year = newYear;
    }

    public String toString(){
        return ("Code: " + getCode() + "\nValue: " + getValue() + "\nYear: " + getYear());
    }
}

Hier ist der Code fürHouses

public class Houses extends Property{
    int bedrooms;
    int storeys;


    public Houses(){
        super(); // call constructor
        this.bedrooms = 0;
        this.storeys = 0;
    }

    public Houses(String pCode , double value , int year ,int bedrooms , int storeys){
                super(pCode,value,year);
        this.bedrooms = bedrooms;
        this.storeys = storeys;
    }
    //accessors
    private int getBedrooms(){
        return bedrooms;
    }
    private int getStoreys(){
        return storeys;
    }
    private void setBedrooms(int bedrooms){
        this.bedrooms = bedrooms;
    }
    private void setStoreys(int storeys){
        this.storeys = storeys;
    }

    public void depreciation(){

            this.value = 95 / 100 * super.value;
            System.out.println(this.value);
    }
        public String toString(){
        return (super.toString() + "Bedroom:" + getBedrooms() + "Storeys:" + getStoreys());
    }

}

Mein Problem ist jetzt das in der Methodedepreciation, wann immer ich versuche, es in der laufen zu lassenmain Methode wie die folgende

    public static void main(String[] args) {
        Houses newHouses = new Houses("111",20.11,1992,4,2);
        newHouses.depreciation();
     }

es druckt 0.0 aus. Warum druckt es nicht 20.11? Und wie behebe ich das?

============================================

Bearbeitet: Danke, dass du meinen dummen Fehler>. <Behoben hast

Nehmen wir jedoch an, dass mein Eigentum verwendet wurde

          private String pCode;
          private double value;  
          private int year;

Jetzt kann ich nicht darauf zugreifen, da es sich um private Zugriffe handelt. Gibt es eine andere Möglichkeit, auf sie zuzugreifen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage