answersLogoWhite

0

this is a reference to the current class

super is a reference to the super class of the current class (the class from which this class extends). You can use super.super if you want to access the second level class. (The class your parent class extends) The purpose of having thisand super keywords is to differentiate between methods and variables in classes that may have the same name as that in the parent class. Under such situations if we want to ensure that only the methods from a particular class only gets called we can use this and super.

User Avatar

Wiki User

16y ago

Still curious? Ask our experts.

Chat with our AI personalities

LaoLao
The path is yours to walk; I am only here to hold up a mirror.
Chat with Lao
FranFran
I've made my fair share of mistakes, and if I can help you avoid a few, I'd sure like to try.
Chat with Fran
RossRoss
Every question is just a happy little opportunity.
Chat with Ross
More answers

If your method overrides one of its superclass's methods, you can invoke the overridden method through the use of the keyword super. You can also use super to refer to a hidden field.

More Elaborately we can say it is used to access members of a class inherited by the class in which it appears. Allows a subclass to accessoverridden methods and hidden members of its superclass. The super keyword is also used to forward a call from a constructor to a constructor in the superclass.

kanak

User Avatar

Wiki User

16y ago
User Avatar

1)"this" refers to the current class where as "super" refers directly to its immediate above super class. 2)private variables cannot be accessed in a inherited class by using "this",where as by using "super" we can easily access the private variables in its super class.

User Avatar

Wiki User

16y ago
User Avatar

The super keyword is used to access the methods/variables of the parent class.

Ex:

public class A extends B {

super.getName();

}

This would call the method getName() from class B.

The Final keyword is used to ensure that the methods/variables are not modified/overridden in their child classes.

ex:

public class A {

public void final getName(){

...

}

}

public class B extends A{

public void getName(){

...

}

}

While trying to compile class B, there would be compilation errors. Since the method getName in the parent class is final, it cannot be overridden in the child class.

User Avatar

Wiki User

16y ago
User Avatar

Add your answer:

Earn +20 pts
Q: Difference between super and final keyword?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

Is super keyword is analogous to this keyword in java?

No. The keyword super is used to refer to the parent class instance while the keyword this is used to refer to the current class instance. You need to learn about Inheritance and Object creation using constructors to learn more about these keywords and their use


Explain different use of super with the help of java program?

the keyword super is used to access methods/variables of the parent class. ex: public class A { public String getName(){ ..... } } public class B extends A { public String getName(){ ..... } } If you want to access the method getName of class A inside class B you cannot do directly because the compiler would get confused. you need not create an object of A since it is already available. At this point you can use super super.getName() is enough to call the method of the parent class


How do you prevent method overriding in java?

Use the word "final" directly preceding your method declaration. The presence of final keyword directs java to ensure that, this particular method would not be overridden by any of its child classes.


How constructor called?

You cannot invoke a constructor explicitly. It will get invoked implicitly when you call the new keyword on the class to create an object of the class. Ex: private ClassExample obj = new ClassExample(); here this new keyword usage on the ClassExample class will invoke the constructor of this class and create an object of that class.


How super class variable can be used to refer the sub class object?

The super variable is not a reference to a subclass. It is a reference to the superclass. class MyClass { void printType() { System.out.println("This is a MyClass"); } // MySubClass is a subclass of MyClass. Within this class, the super keyword // refers to MyClass. static class MySubClass extends MyClass { void printType() { // Tell Java we also want to call the printType method of the super class super.printType(); System.out.println("This is a MySubClass"); } } }