Creating Superclasses and Subclasses

AP Computer Science A· difficulty 3/5

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

  • B

    Sam 1000.0

    check_circle
  • 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".

Want 10 more like this — adaptive to your weak spots?

Related questions