Inheritance, constructors and arguments : Inheritance « Class Definition « Java Tutorial

class A {
  A(int i) {
    System.out.println("A constructor");

class B extends A {
  B(int i) {
    System.out.println("B constructor");

class C extends B {
  C() {
    System.out.println("C constructor");

public class MainClass {
  public static void main(String[] args) {
    C x = new C();
A constructor
B constructor
C constructor

5.22.3.Method Overriding
5.22.4.The extends Keyword
5.22.5.Deriving a Class
5.22.6.The keyword super represents an instance of the direct superclass of the current object.
5.22.7.Derived Class Constructors: Calling the Base Class Constructor
5.22.8.Overriding a Base Class Method
5.22.9.Type Casting
5.22.10.Inheritance, constructors and arguments
5.22.11.Combining composition and inheritance
5.22.12.Inheritance and upcasting.
5.22.13.Overloading a base-class method name in a derived class does not hide the base-class versions.
5.22.14.Cleanup and inheritance
5.22.15.Creating a Multilevel Hierarchy
5.22.16.Demonstrate when constructors are called in a Multilevel Hierarchy