Polymorfismus

Všechny objekty jsou ukazatele. S instancí odvozené třídy lze pracovat jako s ukazatelem na základní třídu. Použije se však metoda odvozené třídy.

Příklad:

public class Zvíře {
  public boolean jeŽivýTvor() {
    return true;
  }
  public int početNohou() {
    return -1; // nesmyslná hodnota
  }
}

public class Zmije extends Zvíře {
  public int početNohou() {
    return 0;
  }
}

public class Slepice extends Zvíře {
  public int početNohou() {
    return 2;
  }
}

public class Kočka extends Zvíře {
  public int početNohou() {
    return 4;
  }
}

public class Chroust extends Zvíře {
  public int početNohou() {
    return 6;
  }
}

public class Sklípkan extends Zvíře {
  public int početNohou() {
    return 8;
  }
}

public class Stonožka extends Zvíře {
  public int početNohou() {
    return 100;
  }
}

Slepice pečenáslepice = new Slepice;
System.out.println(pečenáslepice.jeŽivýTvor()); // vytiskne true

Zvíře sousedovakočka = new Kočka;
System.out.println(sousedovakočka.početNohou()); // vytiskne 4