Наследование и инкапсуляция

Написал для обучения пример, однако не понимаю почему я не могу вызвать netflix.displayInfo(); так же меня интересует вопрос по поводу public void displayInfo() в классе Amazon, как я могу получить доступ к полям которые наследуется из класса Company.

package CompanyProgram;

public class Company {
    private int avgSalary;
    private String address;
    public int worksNum;
    public String companyName;
    
    
    public static void main(String[] args) {
        Company company = new Company("Company", 3, "West Hollywood", 40000);
        Amazon amazon = new Amazon("Amazon", 1200, "Nord Hollywood",70000,7);
        HBO hbo = new HBO("Amazon", 1200, "Nord Hollywood",70000,2);
        Netflix  netflix = new Netflix("Netflix", 3, "South Hollywood", 80000);
        
        Netflix.displayInfo();
    }
    
    
    public Company(String companyName, int worksNum, String address, int avgSalary){
        this.companyName = companyName;
        this.worksNum = worksNum;
        this.address = address;
        this.avgSalary = avgSalary;
    }
    
    public String getAddress(){
        return this.address;
    }

    public void displayInfo(){
        System.out.printf("Company name: %d \n", companyName);
        System.out.printf("Workers count: %d \n",worksNum);
        System.out.printf("adress: %d \n", address);
        System.out.printf("average salary: %d \n", avgSalary);
    }
    
    public void setAddress(String address){
        this.address = address;
    }    
    
    public String getAvgSalary(){
        return this.companyName;
    }
    public void setAvgSalary(int avgSalary){
        this.avgSalary = avgSalary;
    }  
}


class Amazon extends Company{
    private int filmCount;
    
    public Amazon(String companyName, int worksNum, String address, int avgSalary, int filmCount) {
        super(companyName, worksNum, address, avgSalary);
        this.filmCount = filmCount;
    }
    
    public int getFilmCount(){
        return this.filmCount;
    }
    public void setFilmCount(int filmCount){
        this.filmCount = filmCount;
    }
    
    public void displayInfo(){
//        System.out.printf("Company name: %d \n", companyName);
//        System.out.printf("Workers count: %d \n",worksNum);
//        System.out.printf("address: %d \n", address);
//        System.out.printf("average salary: %d \n", avgSalary());
        System.out.printf("Film Count: %d \n", filmCount);
    }
    
}

class Netflix extends Company{
    public Netflix(String companyName, int worksNum, String address, int avgSalary) {
        super(companyName, worksNum, address, avgSalary);
    }
}

class HBO extends Amazon{
    public HBO(String companyName, int worksNum, String address, int avgSalary, int filmCount) {
        super(companyName, worksNum, address, avgSalary, filmCount);
    }

}

Ответы (1 шт):

Автор решения: Anton Buketov

Проблема была в следующем: System.out.printf(), исправил на println. Понимаю инкапсуляцию верно ).

→ Ссылка