class A {} class B extends A {} class C extends A {} class Hovedprogram { public static void main(String[] args) { A a = new A(); B b = new B(); C c = new C(); A d = null; System.out.println("a er A: " + (a instanceof A)); System.out.println("b er B: " + (b instanceof B)); System.out.println("c er C: " + (c instanceof C)); System.out.println(); System.out.println("a er B: " + (a instanceof B)); System.out.println("a er C: " + (a instanceof C)); System.out.println(); System.out.println("b er A: " + (b instanceof A)); System.out.println("c er A: " + (c instanceof A)); System.out.println("\nnull:"); System.out.println("d er A: " + (d instanceof A)); System.out.println("d er B: " + (d instanceof B)); System.out.println("d er C: " + (d instanceof C)); // Feil bruk: // System.out.println("b er C: " + (b instanceof C)); // System.out.println("c er B: " + (c instanceof B)); // // Riktig bruk med casting: System.out.println("\nCasting:"); System.out.println("b er C: " + ((A) b instanceof C)); System.out.println("c er B: " + ((A) c instanceof B)); System.out.println("b er B: " + ((A) b instanceof B)); System.out.println("c er C: " + ((A) c instanceof C)); System.out.println("a er A: " + ((A) a instanceof A)); System.out.println("\nObject:"); System.out.println("a er Object: " + (a instanceof Object)); System.out.println("b er Object: " + (b instanceof Object)); System.out.println("c er Object: " + (c instanceof Object)); System.out.println("d er Object: " + (d instanceof Object)); } }