public class TestCasting{ public static void main(String[] args){ //Lager et array som kan inneholde objekter som er subklasser av Drikke //Men kan IKKE inneholder objekt av klassen Drikke, kun fordi Drikke er abstract, og vi kan dermed ikke lage objektene Drikke[] drikkeListe = new Drikke[10]; //Lager et objekt av klassen Vann Vann vann1 = new Vann(5,10); //Vann objekter kan fint plaseres i Array'et drikkeListe[0] = vann1; //Naa vil java kun se paa Drikke delen av koden til Vann objektet vaart //Foer vi kaller paa noe, burde vi cast'e det til Vann slik at java ser resten av koden. //Derom vi vil lagre drikkeListe[0] i vann1, maa vi caste det tilbake til et Vann objekt. vann1 = (Vann) drikkeListe[0]; //Naa kan vi kalle metoden hentKullsyre() (som ikke eksisterer i Drikke) vann1.hentKullsyre(); //Denne sjekker om vann1 er en instans av Vann. System.out.println(vann1 instanceof Vann); } }