Super KeyWord in Java
Super:– Super keyword is used to
- Call the Super class variable.
- Call the super class constructor.
- Call the super class methods.
1. Call the Super class variable :
Its mandatory to use when derived class variables and base class variables names are same.
Example
class Test1 { int a=10; int b=20; }; class Test extends Test1 { int a=100; int b=200; void add(int a,int b) { System.out.println(a+b); System.out.println(this.a+this.b); System.out.println(super.a+super.b); } public static void main(String[] args) { Test t=new Test(); t.add(1000,2000); } };
2.Call the super class constructor
- inside the constructors super keyword must be first statement of the constructor otherwise the compiler raise compilation error.
- Super class constructor can be called only once in child class constructor or in method.
Example
class Test1 { Test1(int i,int j) { System.out.println(i); System.out.println(j); System.out.println("two arg constructor"); } }; class Test extends Test1 { Test(int i) { super(100,200); System.out.println("int -arg constructor"); } public static void main(String[] args) { Test t=new Test(10); } }
3.Call the super class methods
Its mandatory to use when derived class methods and base class methods names are same.
Example
class Parent { void m1() { System.out.println("parent class method"); } }; class Child extends Parent { void m1() { System.out.println("child class method"); } void m2() { this.m1(); System.out.println("child class method"); super.m1(); } public static void main(String[] arhs) { Child c=new Child(); c.m2(); } };