The super keyword in java is a reference variable that is used to refer immediate parent class object.
Whenever you create the instance of subclass, an instance of parent class is created implicitly i.e. referred by super reference variable.Usage of java super Keyword
1) super is used to refer immediate parent class instance variable.Problem without super keyword |
{
int speed=50;
}
class Bike3 extends Vehicle
{
int speed=100;
void display()
{
System.out.println(speed);//will print speed of Bike
}
}
class stest
{
public static void main(String args[])
{
Bike3 b=new Bike3();
b.display();
}
}
Output:100
| In the above example Vehicle and Bike both class have a common property speed. Instance variable of current class is refered by instance bydefault, but I have to refer parent class instance variable that is why we use super keyword to distinguish between parent class instance variable and current class instance variable. |
Output:502) super is used to invoke parent class constructor.
| The super keyword can also be used to invoke the parent class constructor as given below: |
Output:Vehicle is created
Bike is created
Note: super() is added in each class constructor automatically by compiler.
3) super can be used to invoke parent class method
| The super keyword can also be used to invoke parent class method. It should be used in case subclass contains the same method as parent class as in the example given below: |
class xyz
{
xyz()
{
System.out.println("I am default");
}
xyz(int i)
{
System.out.println("The value ->"+i);
}
}
class xyz1 extends xyz
{
xyz1(int i)
{
super(i);
System.out.println("The value of i ->"+i);
}
}
class test
{
public static void main(String arg[])
{
xyz1 x1=new xyz1(10);
}
}
No comments:
Post a Comment