class Hovedprogram { public static void main(String[] args) throws FeilAntallBeinException{ Pattedyr hund = new Pattedyr(); //hund tolker objektet som Pattedyr, har tilgang til alle egenskaper. Dyr ape = new Pattedyr(); //ape tolker objektet som Dyr, har kun tilgang til egenskapene i superklassen Dyr. //Pattedyr kanin = new Fugl(); //Ikke lov, fordi det er to helt forskjellige klasser. //Pattedyr katt = new Dyr(); //Ikke lov, baaSde fordi Dyr er abstrakt, men ogsaa fordi et objekt av typen Dyr ikke kan tolkes som Pattedyr. Det vil mangle egenskaper. //Dyr isbjorn = new Dyr(); //Ikke lov, fordi Dyr er abstrakt! //Test av exception hund.hentAntallBein(); //Abstract //alle subklassene til Dyr skal ha implementert en public void print()-metode System.out.println("Abstract: "); Pattedyr ku = new Pattedyr(); Fugl spurv = new Fugl(); ku.print(); spurv.print(); //Casting System.out.println("Casting: "); Dyr hest = new Pattedyr(); //hest kan kun se egenskapene til Dyr. //Dyr due = new Fugl(); //Pattedyr hund2 = (Pattedyr) due; // Gaar ikke, for due har ikke egenskapene til Pattedyr. if (hund instanceof Pattedyr) { Pattedyr hest2 = (Pattedyr) hest; hest2.printPattedyr(); hest2.printDyr(); //Har naa egenskapene til baade Dyr og Pattedyr } } }