Skip to content

Instantly share code, notes, and snippets.

@jeffrade
Created October 21, 2018 17:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeffrade/f3c024efee9cc0fafe1471e7392fa4a0 to your computer and use it in GitHub Desktop.
Save jeffrade/f3c024efee9cc0fafe1471e7392fa4a0 to your computer and use it in GitHub Desktop.
Java Abstract Class Instantiation and Overriding 101
/**
* Prints:
* creating A
* creating B
* in B print
*/
public class Main {
public abstract class A {
public A() {
System.out.println("creating A");
}
public void print() {
System.out.println("in A");
}
}
public class B extends A {
public B() {
System.out.println("creating B");
}
public void print() {
System.out.println("in B print");
}
}
public static void main(String[] args) {
(new Main()).start();
}
public void start() {
A b = new B();
b.print();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment