// Employee02.java -- generic sorting using an interface interface Sortable02 { public abstract boolean compare (Sortable02 b); } final class Sort { public static void sort (Sortable02 [] a) { int i=0,j=0; // ... a[i].compare (a[j]); // ... } } class Employee02 extends Object implements Sortable02 { public int salary; public boolean compare (Sortable02 b) { Employee02 e = (Employee02) b; return (salary < e.salary); } public static void main (String [] args) { Employee02 [] a = {}; Sort.sort (a); } }