/**

  • Write a description of class SimpleTIme here.
  • @author (Philip)
  • @version (12 Sep 2019) */

public class ThisTest { public static void main (String[] args) { SimpleTime time = new SimpleTime (15, 30, 19); System.out.println (time.buildString()); } // end main } // end class ThisTest

// class SimpleTime demonstrates the "this" reference class SimpleTime { private int hour; // 0 - 23 private int minute; // 0 - 59 private int second; // 0 - 59

// if the constructor uses parameter names identical to
// instance variable names the "this" reference is
// required to distinguish between the names
public SimpleTime (int hour, int minute, int second)
{
    this.hour = hour; // set "this" object's hour
    this.minute = minute; // set "this" object's minute
    this.second = second; // set "this" object's second
} // end SimpleTime constructor

// use explicit and implicit "this" to call toUniversalString
public String buildString()
{
    return String.format ("%24s: %s\n%24s: %s",
        "this.toUniversalString()", this.toUniversalString(),
        "toUniversalString()", toUniversalString());
} // end method buildString

// convert to String in universal-time format (HH:MM:SS)
public String toUniversalString()
{
    // "this" is not required here to access instance variables,
    // because method does not have local variables with same
    // names as instance variables
    return String.format ("%02d:%02d:%02d",
        this.hour, this.minute, this.second);
} // end method toUniversalString

} // end class SimpleTime