First of all when we are talking about the inheritance , Java does not inherit the construtor from super class.As we know constructor is one of the member of a , but we cannot inherit it for sub class (child class).Yes, we can invoke a super class (parent class) constructor from sub class by using the keyword "super".
Few Points about 'super' Keyword :-
1. Its a reserved keyword by Java API.
2. It is used to invoke or call super class (parent class) members .
3. When 'super' keyword is used inside the sub class (child class) constructor , 'super' keyword
is the first line inside the constructor.
Example :-
/*
* @Author Manoj
* 29/07/2013
*/
class SUP{
public SUP(String s){
System.out.println("Hi Super: "+s);
}
}
//SUB class extending SUP class
class SUB extends SUP{
public SUB(String p){
// Explicitly call the super class argument constructor
// super is the first line inside the constructor
super(p);
System.out.println("Hi SUB: "+p);
}
public static void main(String str[]){
new SUB("Manoj Kumar");
}
}
OutPut :-
Hi Super: Manoj Kumar
Hi SUB: Manoj Kumar
Note :- If super class(parent class) constructor is a no-argument constructor the no need to call that constructor by using 'super'
keyword inside the sub class (child class) constructor .
When you invoke sub class (child class) constructor with no-argument, automatically super class (parent class) no-argument constructor
called or invoked.
Hope it will help you.
Few Points about 'super' Keyword :-
1. Its a reserved keyword by Java API.
2. It is used to invoke or call super class (parent class) members .
3. When 'super' keyword is used inside the sub class (child class) constructor , 'super' keyword
is the first line inside the constructor.
Example :-
/*
* @Author Manoj
* 29/07/2013
*/
class SUP{
public SUP(String s){
System.out.println("Hi Super: "+s);
}
}
//SUB class extending SUP class
class SUB extends SUP{
public SUB(String p){
// Explicitly call the super class argument constructor
// super is the first line inside the constructor
super(p);
System.out.println("Hi SUB: "+p);
}
public static void main(String str[]){
new SUB("Manoj Kumar");
}
}
OutPut :-
Hi Super: Manoj Kumar
Hi SUB: Manoj Kumar
Note :- If super class(parent class) constructor is a no-argument constructor the no need to call that constructor by using 'super'
keyword inside the sub class (child class) constructor .
When you invoke sub class (child class) constructor with no-argument, automatically super class (parent class) no-argument constructor
called or invoked.
Hope it will help you.
No comments:
Post a Comment