Java Interface
In the chapter of Inheritance, earlier you have learnt about classes and how they can be inherited by other classes. There, you have also learned about various types of inheritance and pointed out a odd thing that Java does not support multiple Inheritance. That is Java classes cannot have more than one super class, i.e. the technique shown below is not permitted by Java.
Example:
class X extends Y extends Z
{
. . . . . .
}
But Java designers could not overlook the value and importance of multiple inheritance. A large number of real-life applications need the concept of multiple inheritance. Java provides an alternative way of using multiple inheritance know as interfaces to support this concept. Although Java class cannot be a sub class of more than one super class, it can implement more than one interface. Hence this enables programmers to create classes that build upon other classes without the problem created by multiple inheritance.
Declaring Interfaces
The interface keyword is used to declare an interface.
Here is a simple program to declare an interface:
Example:
import java.lang.*;
//multiple import statements can be used here
public interface IntrfaceName
{
//Any number of final, static fields
//Any number of abstract method declarations
}
An interface is similar to class in the following ways
Usage of Interface in Java
Properties of Interfaces in Java
Defining Interface
Interface is defined much like a class. The general form of defining an interface is:
Example:
access interface_name{
return-type method1(parameter list);
return-type method2(parameter list);
type final-varName1=value;
// . . . . . . . .
}
When no access specifier is included, then the default access result along with the interface is only available to other members of the package in which it is declared. When it is declared as public, the interface can be used with any other code. It is to be noted that the methods declared have no bodies. They end with a semi colon after the parameter list. They are essentially abstract methods and there can be no default implementation of any method specified within an interface. Variables can be declared inside the interface declarations.
Implementing Interfaces
Once an Interface has been defined, one or more classes can implement that interface. For implementing interface, programmers need to use the clause ‘implements’ in the class definition and then create the method defined by the interface.
If a class implements more than one interface, the interfaces are separated with a comma. In case, a class is used to implement two interfaces that declares the same method, then the same method will be used by clients of either interface.
Here is a Java Program for Interface
Example:
import java.util.*;
import java.lang.*;
import java.io.*;
interface shapeX {
public String base = "shape1";
public void Draw();
}
interface shapeY extends shapeX {
public String base = "shape2";
public void Draw2();
}
class shapeG implements shapeY {
public String base = "shape3";
public void Draw() {
System.out.println("Drawing Circle here:" + base);
}
@Override
public void Draw2() {
System.out.println("Drawing Circle here:" + base);
}
}
public class Main {
public static void main(String[] args) {
shapeG circleshape = new shapeG();
circleshape.Draw();
circleshape.Draw();
}
}
0 comments:
Post a Comment