You see this keyword when you implement an interface or extend an abstract class. In both cases, you have to implement the parent class’s methods.

Eclipse: override

package com.apress.java7forabsolutebeginners.examples.animalKingdom;

class Cat extends Mammal implements Predator, Carnivore {

  private static int numberOfCats;

  Cat() {

  public static final int getNumberOfCats() {
    return numberOfCats;

  protected void sayWhatIAm() {
    System.out.println("I am a cat");

  // implement the super class's abstract methods
  void speak() {
    System.out.println("The cat says, \"meow.\"");

  // here's our example of overloading
  void chase(Mouse mouse) {
    // chase a mouse
  public void chase (Object tail) {
    // chase one's tail

  // methods for the Predator interface
  public void hunt() {
    // go hunting

  // methods for the Carnivore interface
  public void eat (Object freshMeat) {
    // eat fresh meat
Java 7 for Absolute Beginners
Stay current with the latest in tech comm
Keep current with the latest trends in technical communication by subscribing to the I'd Rather Be Writing newsletter. 4,500+ subscribers

follow us in feedly