/**
* Merujuk Object's Member Dengan this reference
*
* @author Daffa Amanullah Setyawan
* @version 1.This 11 Oktober 2020
*/
public class ThisTest
{
public static void main( String[] args )
{
SimpleTime time = new SimpleTime( 15, 30, 19 );
System.out.println( time
.buildString() );
} // akhir main
} // akhir class ThisTest
// class SimpleTime mendemonstrasikan "this" reference
class SimpleTime
{
private int hour; // 0-23
private int minute; // 0-59
private int second; // 0-59
// jika constructor menggunakan parameter names identik dengan
// instance variable names the "this" reference nya
// maka perlu membedakan di antara 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
} // akhir SimpleTime constructor
// menggunakan eksplisit dan implisit "this" untuk memanggil toUniversalString
public String buildString()
{
return String.format( "%24s: %s\n%24s: %s",
"this.toUniversalString()", this.toUniversalString(),
"toUniversalString()", toUniversalString() );
} // akhir method buildString
// konversi ke String dalam universal-time format (HH:MM:SS)
public String toUniversalString()
{
// "this" tidak diperlukan untuk mengakses instance variables,
// karena method tidak mempunyai local variables dengan nama sama
// seperti instance variables
return String.format( "%02d:%02d:%02d",
this.hour, this.minute, this.second );
} // akhir method toUniversalString
} // akhir class SimpleTime