Yandex

Java Advanced ConceptsJava Advanced Concepts3

Java ReferenceJava Reference1

Java implements Keyword
Usage and Examples



implements Keyword in Java

In Java, the implements keyword is used when a class wants to implement an interface. Unlike classes that are extended using the extends keyword, interfaces define a contract of abstract methods that any implementing class must fulfill.

Why Use implements?

Java does not support multiple inheritance with classes, but it allows a class to implement multiple interfaces. This offers a flexible and clean way to achieve abstraction and polymorphism.

Basic Syntax

class ClassName implements InterfaceName {
    // Implementation of methods from the interface
}

Example: Implementing a Single Interface

interface Animal {
    void makeSound();
}

class Dog implements Animal {
    public void makeSound() {
        System.out.println("Bark!");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.makeSound();
    }
}
Bark!

Explanation

The Animal interface declares a method makeSound(). The Dog class uses implements to declare that it will provide its own definition of makeSound(). When we call the method on the object, it prints Bark!.

Implementing Multiple Interfaces

Java allows a class to implement more than one interface by separating them with commas.

interface Flyable {
    void fly();
}

interface Swimmable {
    void swim();
}

class Duck implements Flyable, Swimmable {
    public void fly() {
        System.out.println("Duck is flying!");
    }

    public void swim() {
        System.out.println("Duck is swimming!");
    }
}

public class Main {
    public static void main(String[] args) {
        Duck duck = new Duck();
        duck.fly();
        duck.swim();
    }
}
Duck is flying!
Duck is swimming!

What Happens If You Don’t Implement All Methods?

If a class does not implement all the abstract methods of the interface, it must be declared as abstract. Otherwise, the compiler will throw an error.

interface Shape {
    void draw();
    void resize();
}

abstract class AbstractShape implements Shape {
    public void draw() {
        System.out.println("Drawing shape...");
    }
    // resize() is not implemented here
}

Common Use Case: Polymorphism with Interfaces

interface Printer {
    void print();
}

class TextPrinter implements Printer {
    public void print() {
        System.out.println("Printing text...");
    }
}

class ImagePrinter implements Printer {
    public void print() {
        System.out.println("Printing image...");
    }
}

public class Main {
    public static void main(String[] args) {
        Printer p1 = new TextPrinter();
        Printer p2 = new ImagePrinter();

        p1.print();
        p2.print();
    }
}
Printing text...
Printing image...

Key Points to Remember

When to Use implements

Use implements when:



Welcome to ProgramGuru

Sign up to start your journey with us

Support ProgramGuru.org

You can support this website with a contribution of your choice.

When making a contribution, mention your name, and programguru.org in the message. Your name shall be displayed in the sponsors list.

PayPal

UPI

PhonePe QR

MALLIKARJUNA M