public abstract class Employee {
private String name;
public Employee(String n) { name = n; }
public String getName() { return name; }
public abstract double pay();
}
public class Salaried extends Employee {
private double salary;
public Salaried(String n, double s) { super(n); salary = s; }
public double pay() { return salary; }
}
// Usage:
Employee e = new Salaried("Sam", 1000.0);
System.out.print(e.getName() + " " + e.pay());What is printed?
- A
Sam 0.0
- Bcheck_circle
Sam 1000.0
- C
Compile error
- D
null 1000.0
Explanation
Abstract classes can have concrete methods (getName) and constructors. The subclass calls super(n) and overrides pay(). Output is "Sam 1000.0".