9.5. Array af objekter

Et array af objekter oprettes på samme måde som et array af simple typer:

    Point[] pkt = new Point[10];

Bemærk: Arrayet indeholder en række af referencer til objekterne. Herover oprettes altså ingen punkter! Dvs. pkt[0], pkt[1],...,pkt[9] er alle null.

Arrays kan bruges til at gå mellem værdier fra et domæne til værdier i et andet domæne. For eksempel konvertering af måneders numre (1-12) til deres navne:

public class MaanedersNavne
{
  public static void main(String[] args) 
  {
    String[] måneder = {"januar", "februar", "marts", "april", "maj", "juni",
      "juli", "august", "september", "oktober", "november", "december" };

      System.out.println("Den 1. måned er " + måneder[0] );
      System.out.println("Den 6. måned er " + måneder[5] );
      System.out.println("Den 9. måned er " + måneder[9] );  
  }
}

Resultatet bliver:

Den 1. måned er januar
Den 6. måned er juni
Den 9. måned er september

På samme måde som strenge kan andre slags objekter lægges i et array, f.eks. punkter:

Point[] pkt = { new Point(100,100), new Point(110,90), new Point(10,10) };

9.5.1. Polymorfi

Ligesom med almindelige variabler kan elementerne i et array godt referere til nedarvinger.

// Bruger Terning.java og FalskTerning2.java fra tidligere kapitler
public class Terninger
{
  public static void main(String[] args) 
  {
    Terning[] t={new Terning(), new FalskTerning2(), new FalskTerning2()};

    for (int i=0; i<t.length; i++) t[i].kast();
  }
}