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