Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- abstract class Person implements Comparable<Person> {
- protected String lastName, firstName;
- public Person(String lastName, String firstName) {
- this.lastName = lastName;
- this.firstName = firstName;
- }
- public String fullName() { return firstName+" "+lastName; }
- protected abstract int rank();
- public compareTo(Person o) {
- int r1 = this.rank(), r2 = o.rank();
- return r1 != r2 ? r1-r2 : this.fullName().compareTo(o.fullName());
- }
- }
- class Instructor extends Person {
- protected int rank() { return 5; }
- }
- class TeachingAssistant extends Person {
- protected int rank() { return 10; }
- }
- class Student extends Person {
- protected int rank() { return 15; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement