public class Construct {
	public Construct() {
		System.out.println("object created using explicitly stated parameterless Constructur");
	} //constructor

	public Construct(int i) {
		System.out.println("object Constructed by parametrized Constructor, parameter i="+i);
	} //constructor

	public static void main(String args[]) {
		new Construct();
		new Construct(1);
		new TestClass1();
	} //main()
} //class Construct

class TestClass1 extends TestClass2 {
	//nothing!
} //TestClass1

class TestClass2 {
	TestClass2() {
		this(1);
		System.out.println("Constructor of TestClass2 called");
	} //constructor

	TestClass2(int i) {
		this ((short) 2,(byte) 3);
		System.out.println("Constructor of TestClass2 called paramter i="+i);
	} //constructor

	TestClass2(short s, byte b) {
		System.out.println("Constructor of TestClass2 called paramter s="+s+" parameter b="+b);
	} //constructor
} //class TestClass2