****************************
Code examples for interfaces:
* Class1.java implements Interface1.java
* Abstract Class2.java implements Interface1.java and Interface2.java
* Class3.java extends abstract class Class2.java
* Interface3.java extends Interface1.java and Interface2.java
***************************
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Class1.java
~~~~~~~~~~~~~~~~~~~~~~~~~~~
// This class is not abstract, so it must provide
// implementations of method1 and method2.
public class Class1 extends SomeClass
implements Interface1 {
public ReturnType1 method1(ArgType1 arg) {
someCodeHere();
...
}
public ReturnType2 method2(ArgType2 arg) {
someCodeHere();
...
}
...
}
>>>>>>>>>>>>>>>>>>>>>>>>>>
~~~~~~~~~~~~~~~~~~~~~~~~~~
Interface1.java
~~~~~~~~~~~~~~~~~~~~~~~~~~
public interface Interface1 {
ReturnType1 method1(ArgType1 arg);
ReturnType2 method2(ArgType2 arg);
}
>>>>>>>>>>>>>>>>>>>>>>>>>>
~~~~~~~~~~~~~~~~~~~~~~~~~~
Abstract Class2.java implements Interface1.java and Interface2.java
~~~~~~~~~~~~~~~~~~~~~~~~~~
Class2.java
~~~~~~~~~~~~~~~~~~~~~~~~~~
// This class is abstract, so does not have to provide
// implementations of the methods of Interface 1 and 2.
public abstract class Class2 extends SomeOtherClass
implements Interface1,
Interface2 {
...
}
>>>>>>>>>>>>>>>>>>>>>>>>>
~~~~~~~~~~~~~~~~~~~~~~~~~
Interface2.java
~~~~~~~~~~~~~~~~~~~~~~~~~
public interface Interface2 {
ReturnType3 method3(ArgType3 arg);
}
~~~~~~~~~~~~~~~~~~~~~~~~~
# Class3.java extends abstract class Class2.java
~~~~~~~~~~~~~~~~~~~~~~~~~
Class3.java
>>>>>>>>>>>>>>>>>>>>>>>>>
// This class is not abstract, so it must provide
// implementations of method1, method2, and method3.
public class Class3 extends Class2 {
public ReturnType1 method1(ArgType1 arg) {
someCodeHere();
...
}
public ReturnType2 method2(ArgType2 arg) {
someCodeHere();
...
}
public ReturnType3 method3(ArgType3 arg) {
someCodeHere();
...
}
...
}
>>>>>>>>>>>>>>>>>>>>>>>
# Interface3.java extends Interface1.java and Interface2.java
>>>>>>>>>>>>>>>>>>>>>>>
~~~~~~~~~~~~~~~~~~~~~~
Interface3.java
~~~~~~~~~~~~~~~~~~~~~~
// This interface has three methods (by inheritance) and
// two constants.
public interface Interface3 extends Interface1,
Interface2 {
int MIN_VALUE = 0;
int MAX_VALUE = 1000;
}
<<<<<<<<<<<<<<<<<<<<<