Lets consider this situation

class Animal {
  void eat() {
    System.out.println("animal : eat");
  }
}

class Dog extends Animal {
  void eat() {
    System.out.println("dog : eat");
  }
  void anotherEat() {
    super.eat();
  }
}

public class Test {
  public static void main(String[] args) {
    Animal a = new Animal();
    a.eat();
    Dog d = new Dog();
    d.eat();
    d.anotherEat();
  }
}

The output is going to be

animal : eat
dog : eat
animal : eat

The third line is printing "animal:eat" because we are calling super.eat(). If we called this.eat(), it would have printed as "dog:eat".

Answer from Nithesh Chandra on Stack Overflow
🌐
Javatpoint
javatpoint.com › this-vs-super-in-java
Difference Between this and super in Java - Javatpoint
Difference Between this and super in Java with java tutorial, features, history, variables, object, programs, operators, oops concept, array, string, map, math, methods, examples etc.
🌐
Scaler
scaler.com › topics › java › this-and-super-keyword-in-java
This and Super Keyword in Java - Scaler Topics
March 8, 2022 - ... A: We use the super keyword to refer to the parent class instance, to invoke parent class methods, static and instance variables. The “super()” is used to invoke the immediate parent class constructor. ... A: Java enforces that the call to super (explicit or not) must be the first statement ...
People also ask

How does the "this" keyword enhance object-oriented programming in Java?
A. This keyword in Java is essential to object-oriented programming because it provides a reference to the current object. It facilitates self-reference within methods, enables method chaining for fluent interfaces, permits the distinction between instance variables and method parameters, and assists in the invocation of constructors.
🌐
upgrad.com
upgrad.com › home › tutorials › software & tech › this and super keyword in java
This and Super Keyword in Java: Differences, Examples & Uses
In static methods, is it possible to use 'this' and 'super'?
A: Static methods do not have access to 'this' and 'super' keywords. The pairing that works is as follows: instance methods can directly access both instance variables and methods, as well as static variables and methods. However, 'this' and 'super', which are inherently tied to object instances, are not available for use within static methods.
🌐
upgrad.com
upgrad.com › home › tutorials › software & tech › this and super keyword in java
This and Super Keyword in Java: Differences, Examples & Uses
Can we use the "this" and "super" keywords interchangeably?
A: No, the "this" and "super" keywords serve different purposes. "This" refers to the current object, while "super" references the parent class. Their usage depends on the context and the specific functionality you intend to achieve.
🌐
upgrad.com
upgrad.com › home › tutorials › software & tech › this and super keyword in java
This and Super Keyword in Java: Differences, Examples & Uses
🌐
TutorialsPoint
tutorialspoint.com › difference-between-super-and-this-in-java-program
Difference between super() and this() in java Program
With this similarity both these keywords have significant differences between them which are listed as below - ... class A { public int x, y; public A(int x, int y) { this.x = x; this.y = y; } } class B extends A { public int x, y; public B() { this(0, 0); } public B(int x, int y) { super(x + 1, y + 1);// calls parent class constructor this.x = x; this.y = y; } public void print() { System.out.println("Base class : {" + x + ", " + y + "}"); System.out.println("Super class : {" + super.x + ", " + super.y + "}"); } } class Point { public static void main(String[] args) { B obj = new B(); obj.print(); obj = new B(1, 2); obj.print(); } }
🌐
GeeksforGeeks
geeksforgeeks.org › java › super-and-this-keywords-in-java
super and this keywords in Java - GeeksforGeeks
June 10, 2024 - We can use this as well as super any number of times in a program. Both are non-static keyword. ... // Java Program to illustrate using this // many number of times class RRR { // instance variable int a = 10; // static variable static int b ...
🌐
Coding Shuttle
codingshuttle.com › java-programming-handbook › this-vs-super-keyword
this vs super Keyword in Java
April 9, 2025 - The this keyword is used for referring to the current instance, differentiating instance variables, and calling constructors within the same class. The super keyword is used to refer to the parent class, access its members, and call its constructor.
🌐
Javatpoint
javatpoint.com › super-keyword
Super Keyword in Java
Super keyword in java. The java super keyword is used to refer the immediate parent class object. There are three usage of super. Let's see:
Find elsewhere
🌐
Scientech Easy
scientecheasy.com › home › blog › difference between super and this keyword in java
Difference between Super and This Keyword in Java - Scientech Easy
April 25, 2025 - If a subclass overrides a method from the superclass and wants to use the superclass’s implementation, we can use ‘super.methodName()’ to explicitly call the superclass method. ... The keyword ‘this’ in Java is a reference variable that refers to the current instance of the class.
🌐
Upgrad
upgrad.com › home › tutorials › software & tech › this and super keyword in java
This and Super Keyword in Java: Differences, Examples & Uses
September 24, 2024 - The primary purpose of the "this" keyword is to refer to the current object, while the "super" keyword allows access to the members of the parent class. These keywords help resolve naming conflicts, differentiate between instance variables and ...
🌐
Javatpoint
javatpoint.com › q › 6949 › difference-between-super-keyword-and-this-keyword
difference between super keyword and this keyword | 6949
Tutorials, Free Online Tutorials, Javatpoint provides tutorials and interview questions of all technology like java tutorial, android, java frameworks, javascript, ajax, core java, sql, python, php, c language etc. for beginners and professionals.
🌐
GeeksforGeeks
geeksforgeeks.org › java › difference-super-java
Difference between super() and this() in java - GeeksforGeeks
November 9, 2022 - It can be used only inside constructor and nowhere else. super() is used to refer only parent class's(super class's) constructor. this() is used to call the current class's constructor.
🌐
Techie Delight
techiedelight.com › home › java › difference between this and super keyword in java
Difference between this and super keyword in Java | Techie Delight
November 1, 2023 - This is useful when we want to ... a parameter to another method. For example: ... The super keyword is a reference to the current object as an instance of the parent class....
🌐
TutorialsPoint
tutorialspoint.com › difference-between-super-and-this-in-java
Difference between super() and this() in Java
class Animal { String name; Animal(String name) { this.name = name; } public void move() { System.out.println("Animals can move"); } public void show() { System.out.println(name); } } class Dog extends Animal { Dog() { //Using this to call current class constructor this("Test"); } Dog(String name) { //Using super to invoke parent constructor super(name); } public void move() { // invokes the super class method super.move(); System.out.println("Dogs can walk and run"); } } public class Tester { public static void main(String args[]) { // Animal reference but Dog object Animal b = new Dog("Tiger"); b.show(); // runs the method in Dog class b.move(); } } ... Difference between Go and Java.
🌐
W3Schools
w3schools.com › java › ref_keyword_super.asp
Java super Keyword
assert abstract boolean break byte case catch char class continue default do double else enum exports extends final finally float for if implements import instanceof int interface long module native new package private protected public return requires short static super switch synchronized this throw throws transient try var void volatile while Java String Methods
🌐
ScholarHat
scholarhat.com › home
Super Keyword in Java: A Beginner's Guide to Using Super in Java
September 3, 2025 - Java Full Stack Developer Course . The primary purpose of the "this" keyword is to refer to the current object, while the "super" keyword allows access to the members of the parent class.
🌐
Javatpoint
javatpoint.com › difference-between-super-and-super-in-java-with-examples
Difference between super and super() in Java with Examples - Javatpoint
this keyword · Java Object getClass() Method · Inheritance(IS-A) Aggregation(HAS-A) Method Overloading · Method Overriding · Covariant Return Type · super keyword · Instance Initializer block · final keyword · Runtime Polymorphism · Dynamic Binding ·
🌐
Tutorialspoint
tutorialspoint.com › java › super_keyword_in_java.htm
Java - super keyword
This is the display method of subclass ... automatically acquires the default constructor of the superclass. But if you want to call a parameterized constructor of the superclass, you need to use the super keyword as shown below....
🌐
YouTube
youtube.com › watch
this and super keyword in Java - YouTube
Java this and Java super(): In this video we will see what this keyword and super keyword is in java.This video will give you an example which will make you ...
Published   October 29, 2020
🌐
CodingNomads
codingnomads.com › what-is-java-super-keyword
Java `super` Keyword
However, instead of referring to a variable or method in the parent class, this refers to a variable or method in the current class. There are many times when the super keyword is used to remove ambiguity.