- What is this keyword in Java?
- This is a reference variable in Java. 
- It refers to the current object (the object whose method or constructor is being executed). 
- Where is this used?
- You can use this in many places: 
- To refer to current class instance variables when they are shadowed by method/constructor parameters. 
- To call current class methods. 
- To call one constructor from another constructor (constructor chaining). 
- To return the current class object. 
- To pass the current object as an argument in method calls or constructors. 
- When do we use this?
- When local variables (method/constructor parameters) have the same name as instance variables → to avoid confusion. 
- When you want to chain constructors inside the same class. 
- When you want to pass the current object to another method/class. 
- How do we use this?
- How → Using this.variable, this(), this.method(), return this, method(this).
- Why is this used?
- To resolve ambiguity between instance variables and local variables. 
- To improve code readability and avoid errors. 
- To allow constructor chaining. 
- To refer to the current object flexibly. 
- What is super?
- Super is a reference keyword in Java that refers to the immediate parent class (superclass) of the current object. 
- It helps to access parent class members (variables, methods, constructors) that are hidden or overridden in the child class. 
- Where is super used?
- Inside a child class that extends a parent class.
You can use it:
- With variables → to access parent class fields. 
- With methods → to call parent class methods. 
- With constructors → to call parent class constructors. 
- When is super used?
- When the child class has a variable or method with the same name as the parent class (to avoid confusion). 
- When you need to invoke the parent’s overridden method from the child class. 
- How is super used?
- If child and parent have the same variable name, use super.variableName to get the parent’s value. 
- If child overrides a parent’s method, super.methodName() lets you call the parent’s version. 
- Why is super?
- To avoid ambiguity when the child and parent have the same variable/method. 
- To reuse parent class logic instead of rewriting it. 
 

 
    
Top comments (0)