MCKV INSTITUTE OF ENGINEERING
Name: Rajanya Saha
Department: Information Technology(IT-1)
Class roll no: BTECH/IT/23/005
University roll no: 11600723081
Subject: Object Oriented Programming Language
Topic: Interface (CA-3)
Interface
An interface in Java is a blueprint of a class that is used to define a set of abstract methods
(methods without a body) that a class must [Link] are a key part of abstraction
and multiple inheritance in Java. While a class can only inherit from one superclass, it can
implement multiple interfaces, allowing developers to build flexible and loosely coupled
systems.
To achieve interface java provides a keyword called implements.
Characteristics of Interface:
Blueprint of a Class – Interfaces act as templates that define methods a class must provide.
Complete Abstraction – Before Java 8, interfaces could only contain abstract methods. From Java 8
onwards, they can also include default and static methods with bodies.
Public and Abstract by Default – All interface methods are automatically public and abstract (unless
they are default or static).
No Constructors – Interfaces cannot be instantiated directly because they don’t have constructors.
Multiple Inheritance – A class can implement multiple interfaces, overcoming Java’s single inheritance
limitation for classes.
Multiple Inheritance – A class can implement multiple interfaces, overcoming Java’s single inheritance
limitation for classes.
Why We Use Interface
• Abstraction – Hides implementation details and shows only what’s necessary.
• Multiple Inheritance – Java allows multiple inheritance,because interfaces only
provide method decleration.
• Reusability – Same interface can be reused across different classes or modules.
• Polymorphism – Enables one interface reference to point to different class objects
implementing it.
Real-Life Analogy
Thinking of an interface as a remote control:
• The remote defines a fixed set of buttons such as powerOn(), volumeUp(), volumeDown().
• It doesn’t specify how these buttons work internally.
• Different devices (TV, AC, Speaker) can use the same remote layout — they implement the
same interface but perform actions differently.
In Java, an interface defines what actions are available, while each class decides how to perform
them.
Example Code
interface Animal { Output:
void sound(); Dog barks
}
class Dog implements Animal {
Cat meows
public void sound() {
[Link]("Dog barks "); Explanation
} • Animal is an interface — it
}
class Cat implements Animal {
defines what all animals should
public void sound() { do (sound()), but not how.
[Link]("Cat meows ");
} • Dog and Cat implement the
}
Animal interface and give their
public class Main {
public static void main(String[] args) { own sounds.
Animal dog = new Dog();
Animal cat = new Cat(); • In main(), we use the same
[Link](); interface type (Animal) to call
[Link]();
}
different implementations — this
} is polymorphism in action.
Conclusion
Interfaces are one of the most powerful and essential
features of Java’s object-oriented design. They promote
modularity, abstraction, and [Link] tell classes what
to do but not how to do it, allowing different classes to share
common behavior in their own [Link] makes Java code
easier to understand, extend, and maintain.