/* * Olio-ohjelmoinnin perusteet I. * * Aikaista sitomista: Java-kääntäjä päättelee luokkametodin version viitteen * tunnuksen tyypin perusteella. * * Jorma Laurikkala (jorma.laurikkala@tuni.fi). * * Viimeksi muutettu 27.1.2020. * */ public class SitovaTesti { public static void main(String[] args) { // Luodaan kissa ja liitetään häneen viite dynaamisesta (olion) luokasta. Kissa kissa = new Kissa(); // Asetetaan olioon myös yliluokan viite. Nisakas kissanisäkäs = kissa; // Kääntäjä sitoo kutsun Kissa-luokkaan. System.out.println(kissa.onkoUhka(null)); // true // Kääntäjä sitoo kutsun Nisakas-luokkaan. System.out.println(kissanisäkäs.onkoUhka(null)); // false // Luokkametodeja voidaan kutsua luokan nimen kautta. Luonnollisesti myös // tässä kutsumuodossa kutsu voidaan sitoa jo käännösvaiheessa. System.out.println(Kissa.onkoUhka(null)); // true System.out.println(Nisakas.onkoUhka(null)); // false } }