Interface in Java
Interface in Java
Outline
Introduction to Interface
Multiple Inheritance – Example
Why Interfaces are needed
Java's Interface Concept
Syntax
Semantic Rules for Interfaces
Example: An Interface for Shape Classes
Extending Interface
Abstract class and Interface
Benefits of Interfaces
Java's Most used Interfaces
2
Introduction to Interface
In General, An interface is a deviceor
system that unrelated entities use to interact.
- The English language is an interface between two people.
- A remote control is an interface between you and a television.
3
Introduction to Interface
In Computing, An interface is a shared boundary across
which two or more components of a computer system
exchange information.
- The exchange can be between software, hardware,
humans and combinations of these.
Interface/Medium
4
Introduction to Interface
In Object oriented programming,
Person
Name
displayDetail()
Employee Student
department department
salary() cgpa()
TeachingAssistant
6
Problems with Multiple Inheritance
Consider following declearation:
ta = new TeachingAssistant();
ta.department;
Name clash problem: Which department does
ta refers to?
Combinatio problem: Can department from
Student becombined in Teaching
n Employee
and Assistant?
Selectio problem: Can you select
from Employee between and
n
department from
department
Replication problem:
Student?
Should departments in there be two
TeachingAssistent? 7
Why Interfaces are needed
Politician Father
Citizen
President
8
Solution for multiple inheritance in
JAVA
public class Person extends Citizen implements Father,
Politician, President {}
10
Syntax
The Declaration of Interface consists of a keyword interface,
its name, and the members.
interface InterfaceName {
// constant declaration
static final type variableName = value;
// method declaration
returntype methodname (argumentlist);
}
The Class that Implements Interface called as
Implementation Class uses keyword implements:
class classname implements InterfaceName {
... } 11
Semantic Rules for Interfaces
• Instantiation
Does not make sense on an interface. Interfaces are not
classes. You can never use the new operator to instantiate
an interface.
public interface Comparable {. . . }
13
Example: An Interface for Shape
Classes
• Creating classes to represent rectangles,
circles, and triangles and compute
their area and perimeter
15
Class Rectangle implements
interface Shape
public class Rectangle implements Shape {
private double width;
private double height;
20
Extending Interface
• One interface can inherit another interface using the
extends keyword and not the implements keyword.
• For example,
interface A extends B { }
21
Abstract class and Interface
Abstract class Interface
A programmer uses an abstract A programmer writes an interface
class when there are some when all the features have
common features shared by all the different implementations for
objects. different objects.
Multiple inheritance not Multiple inheritance possible (Only
possible (Multiple “parent” one “parent” class)
interfaces)
An abstract class contain both An interface contain only abstract
abstract and concrete(non method
abstract) method
In abstract class, abstract keyword abstract keyword is optional to
is compulsory to declare a method declare a method as an abstract in
as an abstract interface
1.Abstraction
2.Multiple Inheritance
3.polymorphism
23
Some of Java's Most used
Interfaces
• Iterator
To run through a collection of objects without knowing how
the objects are stored, e.g., array.
• Cloneable
Used to make a copy of an existing object via the clone()
method on the class Object. This interface is empty.
• Serializable
Used to Pack a group of objects such that it can be send
over a network or stored to disk. This interface is empty.
• Comparable
The Comparable interface contains a compareTo method,
and this method must take an Object parameter and
return an integer
24