// Example on overriding a superclass method class Worker { protected String nameOfWorker; protected float hoursWorked; protected float rateOfPay; public Worker(String name) { nameOfWorker = name; } public String getName() { return nameOfWorker; } public void setHoursWorked(float hours) { hoursWorked = hours; } public void setRateOfPay(float rate) { rateOfPay = rate; } public float grossWage() { return hoursWorked * rateOfPay; } } class Executive extends Worker { public Executive(String name) { super(name); } protected float annualSalary; public void setAnnualSalary(float salary) { annualSalary = salary; } public float grossWage() { return annualSalary/12.0f; } } class InhExample2 { public static void main(String[] args) { Worker secretary = new Worker("Ann"); secretary.setHoursWorked(40.0f); secretary.setRateOfPay(10.0f); System.out.println(secretary.getName()+ " earns $" + secretary.grossWage()); Executive director = new Executive("Bob"); director.setAnnualSalary(12000.0f); System.out.println(director.getName() + " earns $" + director.grossWage()); } }