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. Time Management 101: Conquer ProcrastinationAuthor: Patuck-Gala
2. Salesforce Devops Training? Streamlining Deployments With Salesforce Devops
Author: Eshwar
3. The Elzee Way Encouraging Curiosity In Toddlers Through Fun Exploration
Author: Elzee
4. Which School Give The Best Icse Kindergarten Experience In Bhopal?
Author: Adity Sharma
5. Data Scientist Vs Mlops Engineer
Author: Gajendra
6. Step-by-step Guide To Web Administrator 313113 Rpl Reports
Author: RPLforAustralia
7. Mba Distance Education
Author: Amrita singh
8. Best Cbse School In Tellapur
Author: Johnwick
9. Cypress Course Online | Cypress Training Course In Hyderabad
Author: krishna
10. Trusted Assignment Help Uk
Author: Masters Assignment Help
11. Mern Stack Training | Best Mern Stack Course
Author: Hari
12. A Complete Guide To Fulfilling Your Mbbs Dreams Abroad
Author: Mbbs Blog
13. Engaging Learning Techniques: Making Education Fun For Your Child
Author: Khushbu Rani
14. Playwright Course Online | Best Playwright Training
Author: Madhavi
15. The Best Gcp Data Engineer Certification Online Training | Hyderabad
Author: SIVA