René Nyffenegger's collection of things on the web | |
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
|
super [Java] | ||
Like C++, Java automatically invokes the base class' constructor if a derived class is created:
Super_M.java
class Super_B { Super_B() { System.out.println("CTor Super_B"); } } class Super_D extends Super_B { Super_D() { System.out.println("CTor Super_D"); } } public class Super_M { public static void main(java.lang.String args[]) { Super_D d = new Super_D(); } }
If this program is run, it prints:
CTor Super_B CTor Super_D
The call to the base class can explicitely be stated with super:
Super_Q.java
class Super_B { Super_B() { System.out.println("CTor Super_B"); } } class Super_D extends Super_B { Super_D() { super(); System.out.println("CTor Super_D"); } } public class Super_Q { public static void main(java.lang.String args[]) { Super_D d = new Super_D(); } }
If this program is run, it prints:
CTor Super_B CTor Super_D |