ALL >> Education >> View Article
Usage Of Super And Final Keyword

A superclass constructor must execute before a subclass constructor. So that the state and behaviour defined by the superclass may be correctly and completely initialized before a subclass constructor executes.
Java compiler assumes that the first line of every constructor is an implicit call to the default superclass constructor unless you explicitly use super().super keyword is used to explicitly invoke a superclass constructor. it must appear as the first statement of the constructor to ensure that the superclass constructor executes before the subclass constructor in java.
Syntax:
super(arg);
The above is the syntax for calling superclass constructor.arg is optional list of arguments of the superclass constructor. You cannot use both super() and this() at the same time in same constructor.
Example for calling super class constructor:
class One
{
One()
{
System.out.println("Constructor of One class");
}
}
class Two extends One
{
Two()
{
//super will be inserted here by default
System.out.println("Constructor ...
... of Two class");
}
}
class Three extends Two
{
Three()
{
//super will be inserted here by default
System.out.println("Constructor of Three class");
}
}
class MainClass
{
public static void main(String args())
{
Three obj = new Three();
}
}
Output:
Constructor of One class
Constructor of Two class
Constructor of Three class
Super keyword is also to call the superclass overridden method.
Advantages:
->super keyword is used to refer immediate parent class instance variable
->super() is used to invoke immediate parent class constructor
->super is used to invoke immediate parent class method
This is an important topic in the SCJP (now known as OCJP) certification, and should be well understood by the aspirants.
Final Keyword:
final is a keyword or reserved word in java and can be applied to member variables, methods, class and local variables in Java. Once you make a reference final you are not allowed to change that reference and compiler will verify this and raise compilation error if you try to re-initialized final variables in java
final Variable:
Any variable declared as final either in block or method they cant be modified.final variables are by default read only.
Example:
public static final String var = "whizlabs";
var=new String(“SCJP”); // compilation error.
final method:
A java method with final keyword is called final method and it cannot be overridden in sub-class. You should make a method final in java if you think it’s complete and its behaviour should remain constant in sub-classes. Final methods are faster than non-final methods because they are not required to be resolved during run-time and they are bonded on compile time.
Example:
class One{
public final String call(){
return "This is from One";
}
}
class Two extends One{
public final String call(){
return "This is from Two"; //compilation error: overridden method is final
}
}
final Class:
Final class is complete in nature and cannot be sub-classed or inherited. Several classes in Java are final e.g. String, Integer and other wrapper classes
Example:
final class One{}
class Two extends One{} // compilation error :cannot inherit final class
This is also an important part of the SCJP 6 certification course however aspirants who are preparing for OCAJP certification course should also look into this topic.
Author of the article is associated with Whizlabs, the global provider of certification preparation course material for Java, Project Management, and CCNA.
Add Comment
Education Articles
1. Which Books Have Been Published By Iiag Jyotish Sansthan Founder Dr. Yagyadutt Sharma?Author: Yagya Dutt Sharma
2. Sap Sd Training In Bangalore
Author: VITSAP
3. Agile Scrum Methodology Explained In Simple Terms For Beginners
Author: Learnovative
4. Blue Wizard Liquid Drops 30 Ml 2 Bottles Price In Hyderabad
Author: bluewizard.pk
5. How Java Skills Can Open Doors To Global It Careers – Sssit Computer Education
Author: lakshmisssit
6. How Digital Marketing Can Help You Switch Careers
Author: madhuri
7. Ryan Group Of Institutions Partners With Royal Grammar School Guildford, A 500-year-old Institution - To Launch Premium British Curriculum Schools In
Author: Lochan Kaushik
8. Join Site Reliability Engineering Training Hyderabad | Visualpath
Author: krishna
9. Top 7 Tips From An Mbbs Admission Consultant In India
Author: Rima
10. An Ultimate Guide To Mbbs In Russia; An Ideal Destination To Study Mbbs Course!
Author: Mbbs Blog
11. A Complete Overview Of Mbbs In Nepal!
Author: Mbbs Blog
12. Affordable Online Mba’s With Global Recognition...
Author: University Guru
13. Induction Training: Building Strong Foundations For New Employees
Author: edForce
14. Dynamics 365 Training In Hyderabad | Online D365 Course
Author: Hari
15. Why Aima Leads In Post Graduate Diploma In Management Excellence
Author: Aima Courses