// Beispiel dafuer, was eine Referenz und was eine Kopie ist

class ReferenzUndKopie
{
  public static void main (String[] args) 
  {
      Integer eins[]; 
      Integer zwei[];

      eins = new Integer[5];

      eins[3] = new Integer(3);

      zwei = eins;

      if (zwei[3].intValue() == 3)
         System.out.println("zwei[3] hat jetzt den Wert 3.");

// wir erzeugen eine exakte Kopie (einen Klon) des Feldes eins 
//      zwei = (Integer[])eins.clone();

      eins[3] = new Integer(256);

      if (zwei[3].intValue() == 256)
         System.out.println("Die Referenz wird kopiert" +
            " -- beide Referenzen zeigen auf dasselbe Objekt!");


// ein Feld fuer zwei erzeugen
      zwei = new Integer[5];
// und die Feldelemente von eins nach zwei kopieren
      System.arraycopy(eins,0,zwei,0,zwei.length);

      eins[3] = new Integer(2);

      if (zwei[3].intValue() == 2)
         System.out.println("Die Referenz wird noch einmal kopiert" +
            " -- beide Referenzen zeigen auf dasselbe Objekt!");
  }

}
