// Employee01.java -- generic sorting using subclassing abstract class Sortable01 { public abstract boolean compare (Sortable01 b); public static void sort (Sortable01 [] a) { int i=0,j=0; // ... a[i].compare (a[j]); // ... } } class Employee01 extends Sortable01 { public int salary; public boolean compare (Sortable01 b) { Employee01 e = (Employee01) b; return (salary < e.salary); } public static void main (String [] args) { Employee01 [] a = {}; Sortable01.sort (a); } }