1 public class Main { arrayCluster(IMagic[] magicArray)2 static void arrayCluster(IMagic[] magicArray) { 3 int i; 4 5 for (i = 0; i < magicArray.length; i++) 6 System.out.println(" " + i + ": " + magicArray[i].getSomeData()); 7 } 8 main(String args[])9 public static void main(String args[]) { 10 MagicClass magic = new MagicClass(); 11 12 System.out.print("magic is "); 13 System.out.println(magic.getSomeData()); 14 15 MagicClass magicArray[] = new MagicClass[2]; 16 magicArray[0] = new MagicClass(); 17 magicArray[1] = new MagicClass(); 18 arrayCluster(magicArray); 19 } 20 } 21 22 class IntSource { getMagicInt()23 public int getMagicInt() { return 64; } 24 } 25 26 interface IMagic { getSomeData()27 public double getSomeData(); 28 29 IntSource mIntSource = new IntSource(); 30 public int MAGIC_INT = mIntSource.getMagicInt(); 31 } 32 33 class MagicClass implements IMagic { getSomeData()34 public double getSomeData() { 35 return this.MAGIC_INT; 36 } 37 } 38