| 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 |