Java interface as build block
In this chapter you will learn:
- How to partially implement an interface
- How to use interface to organize constants
- How to extend interface
Partial interface Implementations
If a class implements an interface but does not fully implement its methods, then that class must be declared as abstract. For example:
interface MyInterface {
void callback(int param);
/* www . j a va 2s. c o m*/
void show();
}
abstract class Incomplete implements MyInterface {
int a, b;
public void show() {
System.out.println(a + " " + b);
}
}
Variables in Interfaces
We can use interface to organize constants.
interface MyConstants {
int NO = 0;/*from w w w . j av a 2s . co m*/
int YES = 1;
}
class Question implements MyConstants {
int ask() {
return YES;
}
}
public class Main implements MyConstants {
static void answer(int result) {
switch (result) {
case NO:
System.out.println("No");
break;
case YES:
System.out.println("Yes");
break;
}
}
public static void main(String args[]) {
Question q = new Question();
answer(q.ask());
}
}
The output:
Extend Interface
One interface can inherit another interface with the keyword extends
.
interface IntefaceA {
void meth1();/*from ww w . j a v a 2 s . co m*/
void meth2();
}
interface IntefaceB extends IntefaceA {
void meth3();
}
class MyClass implements IntefaceB {
public void meth1() {
System.out.println("Implement meth1().");
}
public void meth2() {
System.out.println("Implement meth2().");
}
public void meth3() {
System.out.println("Implement meth3().");
}
}
public class Main {
public static void main(String arg[]) {
MyClass ob = new MyClass();
ob.meth1();
ob.meth2();
ob.meth3();
}
}
The output:
Next chapter...
What you will learn in the next chapter:
- How and when to instanceof operator
- Syntax for Java instanceof operator
- Example - Java instanceof operator
Java Class
Java Object
Java Object Reference Variable
Java Methods
Java Method Return
Java Method Parameters
Java Class Constructors
Java Default Constructor
Java Constructor Parameters
Java this Keyword
Java static keyword
Java Method Overload
Java Constructors Overload
Java Method Argument Passing
Java Method Recursion
Java Nested Class
Java Anonymous Classes
Java Local Classes
Java Member Classes
Java Static Member Classes
Java Class Variables
Java main() Method
Java Class Inheritance
Java super keyword
Java Method Overriding
Java Constructor in hierarchy
Polymorphism
Java final keyword
Java Abstract class
Java Class Access Control
Java Package
Java Packages Import
Java Interface
Java Interface as data type
Java Source Files
Java Object
Java Object Reference Variable
Java Methods
Java Method Return
Java Method Parameters
Java Class Constructors
Java Default Constructor
Java Constructor Parameters
Java this Keyword
Java static keyword
Java Method Overload
Java Constructors Overload
Java Method Argument Passing
Java Method Recursion
Java Nested Class
Java Anonymous Classes
Java Local Classes
Java Member Classes
Java Static Member Classes
Java Class Variables
Java main() Method
Java Class Inheritance
Java super keyword
Java Method Overriding
Java Constructor in hierarchy
Polymorphism
Java final keyword
Java Abstract class
Java Class Access Control
Java Package
Java Packages Import
Java Interface
Java Interface as data type
Java interface as build block
Java instanceof operatorJava Source Files