Hello Class File
> cat Hello.java
public class Hello {
private String private_msg;
private String private_tmp_msg;
String public_msg;
public Hello() {
public_msg = "Hello World (public message)";
private_msg = "No private message";
}
public Hello(String arg_msg) {
public_msg = "Hello World (public message)";
private_msg = arg_msg + " (private message)";
}
public void Speak() {
System.out.print("Hello Object's public message says: ");
System.out.println(public_msg);
}
public void Whisper() {
System.out.print("Hello Object private message says: ");
System.out.println(private_msg);
}
private void Switch() {
private_tmp_msg=private_msg;
private_msg=public_msg;
public_msg=private_tmp_msg;
}
public void Exchange() {
this.Switch();
}
public void SetPrivateMsg(String arg_msg) {
private_msg = arg_msg;
}
}
Subclass of the Hello Object
> cat NewHello.java
public class NewHello extends Hello {
public NewHello(int X) {
super("Hello Cruel World");
}
public NewHello(String arg) {
super("Hello Wonderful World");
}
public void GiveItToMe() {
super.Speak();
super.Whisper();
}
public void BlankIt() {
super.SetPrivateMsg(" ");
super.Exchange();
super.SetPrivateMsg(" ");
System.out.println("\n");
System.out.println("Blanked Out Messages");
this.GiveItToMe();
}
}
Test driver for the Hello classes
> cat TestHello.java
public class TestHello {
public static void main(String[] args) {
System.out.println("Testing Hello Object");
Hello myHello1 = new Hello("HELLO WORLD");
myHello1.Speak();
myHello1.Whisper();
System.out.println("\n");
Hello myHello2 = new Hello();
myHello2.Speak();
myHello2.Whisper();
System.out.println("\n");
System.out.println("Changing Public Message");
myHello2.public_msg="Changed Public Message";
myHello2.Speak();
myHello2.Whisper();
System.out.println("\n");
System.out.println("Exchanging the public and private messages");
myHello2.Exchange();
myHello2.Speak();
myHello2.Whisper();
System.out.println("\n");
System.out.println("Using a Method to change private message");
myHello2.SetPrivateMsg("Changed Private Message");
myHello2.Speak();
myHello2.Whisper();
System.out.println("\n");
System.out.println("A SubClass Hello Object");
NewHello myHello3 = new NewHello(27);
myHello3.GiveItToMe();
System.out.println("\n");
System.out.println("A SubClass Hello Object");
NewHello myHello4 = new NewHello("SomeString");
myHello4.GiveItToMe();
myHello4.Exchange();
myHello4.GiveItToMe();
myHello4.BlankIt();
}
}
Execution of the TestHello class
sundev9 Juser /home/Juser/src
> java -classpath . TestHello
Testing Hello Object
Hello Object's public message says: Hello World (public message)
Hello Object private message says: HELLO WORLD (private message)
Hello Object's public message says: Hello World (public message)
Hello Object private message says: No private message
Changing Public Message
Hello Object's public message says: Changed Public Message
Hello Object private message says: No private message
Exchanging the public and private messages
Hello Object's public message says: No private message
Hello Object private message says: Changed Public Message
Using a Method to change private message
Hello Object's public message says: No private message
Hello Object private message says: Changed Private Message
A SubClass Hello Object
Hello Object's public message says: Hello World (public message)
Hello Object private message says: Hello Cruel World (private message)
A SubClass Hello Object
Hello Object's public message says: Hello World (public message)
Hello Object private message says: Hello Wonderful World (private message)
Hello Object's public message says: Hello Wonderful World (private message)
Hello Object private message says: Hello World (public message)
Blanked Out Messages
Hello Object's public message says:
Hello Object private message says:
sundev9 Juser /home/Juser/src