- 1Java Exceptions
- 2Java Keywords
- 3Java abstract Keyword
- 4Java assert Keyword
- 5Java boolean Keyword
- 6Java break Keyword
- 7Java byte Keyword
- 8Java case Keyword
- 9Java catch Keyword
- 10Java char Keyword
- 11Java class Keyword
- 12Java const Keyword
- 13Java continue Keyword
- 14Java default Keyword
- 15Java do Keyword
- 16Java double Keyword
- 17Java else Keyword
- 18Java enum Keyword
- 19Java extends Keyword
- 20Java final Keyword
- 21Java finally Keyword
- 22Java float Keyword
- 23Java for Keyword
- 24Java goto Keyword
- 25Java if Keyword
- 26Java implements Keyword
- 27Java import Keyword
- 28Java instanceof Keyword
- 29Java int Keyword
- 30Java interface Keyword
- 31Java long Keyword
- 32Java native Keyword
- 33Java new Keyword
- 34Java null Keyword
- 35Java package Keyword
- 36Java private Keyword
- 37Java protected Keyword
- 38Java public Keyword
- 39Java return Keyword
- 40Java short Keyword
- 41Java static Keyword
- 42Java strictfp Keyword
- 43Java super Keyword
- 44Java switch Keyword
- 45Java synchronized Keyword
- 46Java this Keyword
- 47Java transient Keyword
- 48Java try Keyword
- 49Java void Keyword
- 50Java volatile Keyword
- 51Java while Keyword
- 52Java String Methods - Syntax and Description
- 53Java String
charAt()
method - 54Java String
codePointAt()
method - 55Java String
codePointBefore()
method - 56Java String
codePointCount()
method - 57Java String
compareTo()
method - 58Java String
compareToIgnoreCase()
method - 59Java String
concat()
method - 60Java String
contains()
method - 61Java String
contentEquals()
method - 62Java String
copyValueOf()
method - 63Java String
endsWith()
method - 64Java String
equals()
method - 65Java String
equalsIgnoreCase()
method - 66Java String
format()
method - 67Java String
getBytes()
method - 68Java String
getChars()
method - 69Java String
hashCode()
method - 70Java String
indexOf()
method - 71Java String
intern()
method - 72Java String
isEmpty()
method - 73Java String
join()
method - 74Java String
lastIndexOf()
method - 75Java String
length()
method - 76Java String
matches()
method - 77Java String
offsetByCodePoints()
method - 78Java String
regionMatches()
method - 79Java String
replace()
method - 80Java String
replaceAll()
method - 81Java String
replaceFirst()
method - 82Java String
split()
method - 83Java String
startsWith()
method - 84Java String
subSequence()
method - 85Java String
substring()
method - 86Java String
toCharArray()
method - 87Java String
toLowerCase()
method - 88Java String
toString()
method - 89Java String
toUpperCase()
method - 90Java String
trim()
method - 91Java String
valueOf()
method - 92Java ArrayList Methods - Complete Reference with Syntax and Description
- 93Java LinkedList Methods - Complete Reference with Syntax and Description
- 94Java HashMap Methods - Syntax and Descriptions
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
- The
implements
keyword is used by classes to adopt an interface. - All methods in the interface must be implemented unless the class is abstract.
- Interfaces only contain abstract methods (until Java 8, after which default and static methods are allowed).
- You can implement multiple interfaces, separated by commas.
When to Use implements
Use implements
when:
- You want to define a contract that multiple classes can follow.
- You want to achieve multiple inheritance behavior without class-based complexity.
- You want your code to be more modular, testable, and reusable.