Write a Java class Clock for dealing with the day time represented by hours, minutes, and
seconds. Your class must have the following features:
• Three instance variables for the hours (range 0 - 23), minutes (range 0 - 59), and
seconds (range 0 - 59).
• Three constructors:
o default (with no parameters passed; is should initialize the represented time to
o a constructor with three parameters: hours, minutes, and seconds.
o a constructor with one parameter: the value of time in seconds since midnight (it
should be converted into the time value in hours, minutes, and seconds)
• Instance methods:
o a set-method method setClock() with one parameter seconds since midnight (to be
converted into the time value in hours, minutes, and seconds as above).
o get-methods getHours(), getMinutes(), getSeconds() with no parameters that return
the corresponding values.
o set-methods setHours(), setMinutes(), setSeconds() with one parameter each that set
up the corresponding instance variables.
o method tick() with no parameters that increments the time stored in a Clock object
by one second.
o method addClock() accepting an object of type Clock as a parameter. The method
should add the time represented by the parameter class to the time represented in
the current class.
o Add an instance method toString() with no parameters to your class. toString() must
return a String representation of the Clock object in the form "(hh:mm:ss)", for
o Add an instance method tickDown() which decrements the time stored in a Clock
object by one second.
o Add an instance method subtractClock() that takes one Clock parameter and returns
the difference between the time represented in the current Clock object and the one
represented by the Clock parameter. Difference of time should be returned as an
Write a separate class ClockDemo with a main() method. The program should:
• instantiate a Clock object firstClock using one integer seconds since midnight obtained
from the keyboard.
• tick the clock ten times by applying its tick() method and print out the time after each
• Extend your code by appending to it instructions instantiating a Clock
object secondClock by using three integers (hours, minutes, seconds) read from the
• Then tick the clock ten times, printing the time after each tick.
• Add the secondClock time in firstClock by calling method addClock.
• Print both clock objects calling toString method
Create a reference thirdClock that should reference to object of difference of firstClock
and secondClock by calling the method subtractClock().