class A {} class B extends A {} class C extends A {} class D extends C {} public class TrueOrFalse { public static void oppgave2() { A a = new A(); B b = new B(); C c = new C(); D d = new D(); A e = new D(); A f = new B(); // hvilke av disse vil kjøre og hvilke vil kræsje? B ab = (B) a; if (e instanceof B) { B eb = (B) e; } D ed = (D) e; if (d instanceof D) { D ed2 = (D) e; } B fb = (B) f; C ec = (C) e; } public static void oppgave1() { A a = new A(); B b = new B(); C c = new C(); D d = new D(); A e = new D(); A f = new B(); // hvem av disse uttrykkene vil evaluere til true, og hvem vil evaluere til false? System.out.println("a) " + (b instanceof A)); System.out.println("b) " + (c instanceof D)); System.out.println("c) " + (d instanceof A)); System.out.println("d) " + (e instanceof C)); System.out.println("e) " + (f instanceof C)); } public static void main(String[] args) { oppgave2(); } }