Popular Posts

Monday, February 23, 2009

Exercise 11.5: Interfaces

Steps to follow:

1. Write Relation.java as shown in Code-11.5.a below. Please note that the Relation is an interface. (You are welcome to do this work using either command line tools or NetBeans. The instruction here is given using command line tools. In general, using NetBeans is highly recommended.)

* cd \myjavaprograms
* mkdir interfaceexercise
* jedit interfaceexercise\Relation.java
2. Write Main.java as shown in Code-11.5.b below.

* cd \myjavaprograms (if you are not in this directory already)
* jedit interfaceexercise\Main.java
3. Compile Relation.java and Main.java. (You will experience a compile error as described in the subsequent step.)

* cd \myjavaprograms (if you are not in this directory already)
* javac interfaceexercise\Relation.java interfaceexercise\Main.java

4. Note that you will experience a compile error as shown below. This is because you cannot create an object instance from an Interface.

* C:\myjavaprograms>javac interfaceexercise\Relation.java interfaceexercise\Main.java
interfaceexercise\Main.java:5: interfaceexercise.Relation is abstract; cannot be instantiated
Relation x = new Relation();
^
1 error

5. Write Line.java as shown in Code-11.5.c below. It contains a concrete implementation class that implements Relation interface. Note that the all the methods defined in the Relation interface is now implemented.

* cd \myjavaprograms (if you are not in this directory already)
* jedit interfaceexercise\Line.java
6. Rewrite Main.java as shown in Code-11.5.d below.

* cd \myjavaprograms (if you are not in this directory already)
* jedit interfaceexercise\Main.java
7. Compile and run the code using a directory structure.

* cd \myjavaprograms (if you are not in this directory already)
* javac interfaceexercise\*.java
* java -classpath . interfaceexercise.Main

8. Verify the result as following:

* C:\myjavaprograms>java -classpath . interfaceexercise.Main
line1 is greater than line2: false
line1 is equal with line2: true
line1 is equal with line3: false
Length of line1 is 1.4142135623730951
Length of line2 is 1.4142135623730951

No comments:

Post a Comment