8/21/2015 Interface in Java - Javatpoint
Content Menu ▼
Flash Alternative
Business applications focused HTML5 / Ajax based
Interface in Java
What was wrong with
An interface in java is a blueprint of a class. It has static constants this ad?
and abstract methods only.
Irrelevant
The interface in java is a mechanism to achieve fully abstraction.
There can be only abstract methods in the java interface not method
body. It is used to achieve fully abstraction and multiple inheritance in
Java. Interior
Inappropriate
Java Interface also represents IS-A relationship.
design
Services
It cannot be instantiated just like abstract class. Repetitive
Why use Java interface?
Grab Best
There are mainly three reasons to use interface. They are given Deals only at
Quikr. Book
below.
an
Appointment
It is used to achieve fully abstraction.
Now!
By interface, we can support the functionality of multiple
inheritance.
It can be used to achieve loose coupling.
The java compiler adds public and abstract keywords before
the interface method and public, static and final keywords
before data members. quikr.com/Interior-
design...
In other words, Interface fields are public, static and final bydefault,
and methods are public and abstract.
http://www.javatpoint.com/interface-in-java 1/6
8/21/2015 Interface in Java - Javatpoint
Understanding relationship between
classes and interfaces
As shown in the figure given below, a class extends another class, an
interface extends another interface but a class implements an
interface.
http://www.javatpoint.com/interface-in-java 2/6
8/21/2015 Interface in Java - Javatpoint
Simple example of Java interface
In this example, Printable interface have only one method, its
implementation is provided in the A class.
. interface printable{
. void print();
. }
.
. class A6 implements printable{
. public void print(){System.out.println("Hello");}
.
. public static void main(String args[]){
. A6 obj = new A6();
. obj.print();
. }
. }
Test it Now
Output:Hello
Multiple inheritance in Java by interface
If a class implements multiple interfaces, or an interface extends
multiple interfaces i.e. known as multiple inheritance.
. interface Printable{
. void print();
. }
.
. interface Showable{
. void show();
. }
http://www.javatpoint.com/interface-in-java 3/6
8/21/2015 Interface in Java - Javatpoint
.
. class A7 implements Printable,Showable{
.
. public void print(){System.out.println("Hello");}
. public void show(){System.out.println("Welcome");}
.
. public static void main(String args[]){
. A7 obj = new A7();
. obj.print();
. obj.show();
. }
. }
Test it Now
Output:Hello
Welcome
Q) Multiple inheritance is not supported through
class in java but it is possible by interface, why?
As we have explained in the inheritance chapter, multiple inheritance
is not supported in case of class. But it is supported in case of
interface because there is no ambiguity as implementation is provided
by the implementation class. For example:
. interface Printable{
. void print();
. }
. interface Showable{
. void print();
. }
.
. class TestTnterface1 implements Printable,Showable{
. public void print(){System.out.println("Hello");}
. public static void main(String args[]){
. TestTnterface1 obj = new TestTnterface1();
. obj.print();
. }
. }
Test it Now
Hello
http://www.javatpoint.com/interface-in-java 4/6
8/21/2015 Interface in Java - Javatpoint
As you can see in the above example, Printable and Showable
interface have same methods but its implementation is provided by
class TestTnterface1, so there is no ambiguity.
Interface inheritance
A class implements interface but one interface extends another
interface .
. interface Printable{
. void print();
. }
. interface Showable extends Printable{
. void show();
. }
. class Testinterface2 implements Showable{
.
. public void print(){System.out.println("Hello");}
. public void show(){System.out.println("Welcome");}
.
. public static void main(String args[]){
. Testinterface2 obj = new Testinterface2();
. obj.print();
. obj.show();
. }
. }
Test it Now
Hello
Welcome
Q) What is marker or tagged interface?
An interface that have no member is known as marker or tagged
interface. For example: Serializable, Cloneable, Remote etc. They are
used to provide some essential information to the JVM so that JVM
may perform some useful operation.
. //How Serializable interface is written?
. public interface Serializable{
http://www.javatpoint.com/interface-in-java 5/6
8/21/2015 Interface in Java - Javatpoint
. }
Nested Interface in Java
Note: An interface can have another interface i.e. known as nested
interface. We will learn it in detail in the nested classes chapter. For
example:
. interface printable{
. void print();
. interface MessagePrintable{
. void msg();
. }
. }
More about Nested Interface
« prev next »
http://www.javatpoint.com/interface-in-java 6/6