Popular Posts

Monday, February 23, 2009

Exercise 11.4: Abstract Class

Steps to follow:

1. Write an abstract class called LivingThing.java as shown below in Code-11.4.a. (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 abstractexercise
* jedit abstractexercise\LivingThing.java

package abstractexercise;

// The LivingThing class is an abstract class because
// some methods in it are declared as abstract methods.

public abstract class LivingThing {
public void breath(){
System.out.println("Living Thing breathing...");
}

public void eat(){
System.out.println("Living Thing eating...");
}

/**
* abstract method walk
* We want this method to be overridden by subclasses of
* LivingThing
*/
public abstract void walk();
}
Code-11.4.a: LivingThing.java

2. Write Main.java.

* cd \myjavaprograms
* jedit abstractexercise\Main.java

package abstractexercise;

public class Main {
public static void main( String[] args ) {
LivingThing x = new LivingThing();
}
}
Code-11.4.b: Main.java

3. Compile Livingthing.java and Main.java.

* cd \myjavaprograms
* javac abstractexercise\LivingThing.java abstractexercise\Main.java

4. Note that you will experience a compile error since you cannot create an object instance from an abstract class.

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

5. Write a concrete class called Human that extends the abstract LivingThing class

* cd \myjavaprograms
* jedit abstractexercise\Human.java

package abstractexercise;

public class Human extends LivingThing {

public void walk(){
System.out.println("Human walks...");
}

}
Code-11.4.c: Human.java

6. Rewrite Main.java.

package abstractexercise;

public class Main {
public static void main( String[] args ) {
Human x = new Human();
x.walk();

LivingThing y = new Human();
y.walk();
}
}
Code-11.4.d: Main.java

7. Compile and run the code using a directory structure.

* cd \myjavaprograms
* javac abstractexercise\*.java
* java -classpath . abstractexercise.Main

8. Verify the result is as following.

* C:\myjavaprograms>java -classpath . abstractexercise.Main
Human walks...
Human walks...

No comments:

Post a Comment