public
Created

  • Download Gist
ClassExample.java
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
public class Main {
 
static class A {
public void foo() {
System.out.println("foo - A");
}
 
public void bar() {
System.out.println("bar - A");
}
}
 
static class B extends A {
public void foo() {
System.out.println("foo - B");
}
 
public void baz() {
System.out.println("baz - B");
}
}
 
public static void main(String[] args) {
A a = new A();
B b = new B();
a = b;
 
// Calling foo on class A defers to B subclass implementation since we assigned b to a
// prints: foo - B
a.foo();
 
// a.baz() -- error! baz is only a method on class B
}
}

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.