Services | Updates | Contact
Home | Ajax | BioInformatics | Dojo | EAI | EJB | Hibernate | J2ME | Java | Java Glossary | Java Servlets | JavaScript | Jboss | JDBC | JDO | Jmeter | JSF | JSP | JUnit | Maven | MySQL | Spring Framework | SQL | Struts | Technology | WAP | Web Services | XML
Search All Tutorials
Top Search: Loan Struts Open Source
Struts 2 datetimepicker Example
In this section we will show you how to develop datetimepicker in struts 2. Struts 2 uses the dojo toolkit for creating
 
Getting all XML Elements
In this section, you will learn to retrieve all elements of the XML file using the DOM APIs.
 
More Tutorials...

Programming Tutorials: Ajax | Articles | JSP | Bioinformatics | Database | Free Books | Hibernate | J2EE | J2ME | Java | JavaScript | JDBC | JMS | Linux | MS Technology | PHP | RMI | Web-Services | Servlets | Struts | UML

 
 
Java
Comments
 
 

 

Interface in Java

                         

In this section we will learn about Interface and Marker Interfaces in Java. This tutorial will clarify your questions "What is marker Interface?" and "Why to use Marker Interface?" and "difference between abstract class and the interface".

Interface

In general, interface is the way just to say something to a media by using another media. Let's take the general life example. TV Remote is the interface because it is the medium to give the command to a TV in order to change the channels or to ON/OFF the TV. Electric switch is also the interface's example.

But in java programming language interface is nothing but the collection of methods with empty implementations and constants variables ( variables with static and final declarations ). All the methods in an interface are "public and abstract" by default. Since interfaces are abstract in nature so they can not be directly instantiated. To define the methods of an interface the keyword "implements" is used. Interfaces are similar to abstract classes but the major difference between these two is that interface have all the methods abstract while in case of abstract classes must have at least one abstract method. Interface combines the two functionality (template and multiple inheritance) of C++ language into one (in itself).   

Interface Definition

visibility mode interface interfaceName{
        constant variable declarations
        abstract method declarations
}
e.g.
public interface RacingCar{
  public void startcar (int Obj)
  public void changegear (int Obj)
  public void incrrace (int Obj);
  public void stopcar (int Obj);
}

Marker Interface

In java language programming, interfaces with no methods are known as marker interfaces. Marker interfaces are Serializable, Clonable, SingleThreadModel, Event listener. Marker Interfaces are implemented by the classes or their super classes in order to add some functionality.

e.g.  Suppose you want to persist (save) the state of an object then you have to implement the Serializable interface otherwise the compiler will throw an error. To make more clearly understand the concept of marker interface you should go through one more example.  

Suppose the interface Clonable is neither implemented by a class named Myclass nor it's any super class, then a call to the method clone() on Myclass's object will give an error. This means, to add this functionality one should implement the Clonable interface. While the Clonable is an empty interface but it provides an important functionality.

Difference between Interfaces and abstract classes

Some important difference between Interface and abstract classes are given here

    Features                              Interface                              Abstract Class
    Methods An interface contains all the methods with empty implementation. An abstract class must have at least one method with empty implementation.        
   Variables The variables in interfaces are final and static. Abstract classes may contain both instance as well as static variables.
    Multiple   Inheritance  In java multiple inheritance is achieved by using the interface (by implementing more than one interface at a time) Abstract classes does not provide this functionality.
 Additional Functions   If we add a method to an interface then we will have to implement this interface by any class.. In Abstract classes we can add a method with default implementation and then we can use it by extending the abstract class. 

                         

Facing Programming Problem?
Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

3 comments so far (post your own) View All Comments Latest 10 Comments:

i want to different between method overloading and method overriding? 3 to 4 differences giv me plzz send me my mail naveenk_raju@yahoo.co.in

Posted by naveen on Friday, 04.25.08 @ 17:47pm | #57852

i want to know, like if a subclass of a class implementing Serilizable interface, don't want to be serialize, so how can we prevent this Serialization....

Posted by Vishal on Wednesday, 02.20.08 @ 01:18am | #49130

I want to know the use of interface. we are declaring the methods inside the interface and defining the methods in the program. we can do the same without the interface also. then whats the use of the interface. Please send me about interface in detail..

Posted by Joseph on Tuesday, 06.12.07 @ 12:09pm | #18976

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

  EAI Articles
  Java Certification
Tell A Friend
Your Friend Name
Search Tutorials

 

 
 
Browse all Java Tutorials
Java JSP Struts Servlets Hibernate XML
Ajax JDBC EJB MySQL JavaScript JSF
Maven2 Tutorial JEE5 Tutorial Java Threading Tutorial Photoshop Tutorials Linux Technology
Technology Revolutions Eclipse Spring Tutorial Bioinformatics Tutorials Tools SQL
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2007. All rights reserved.