设计一个名为Time的类。这个类包含: 表示时间的数据域hour、minute和second。 一个以当前时间创建Time对象的无参构造方法(数据域的值表示当前时间)。 一个构造Time对象的构造方法,,以一个指定的流逝时间值来构造Time对象,这个值是从1970年1月1日午夜开始到现在流逝的以毫秒表示的值(数据域的值表示这个时间)。 以指定的小时、分钟和秒来构造Time对象的构造方法。 三个数据域hour、minute和second各自的获取方法。 一个名为setTime(long elapseTim
时间: 2024-03-08 13:50:44 浏览: 60
e)的方法,它设置时间为从1970年1月1日午夜开始的指定流逝时间。
下面是一个Java实现的Time类代码示例:
```
public class Time {
private int hour;
private int minute;
private int second;
public Time() {
this(System.currentTimeMillis());
}
public Time(long elapsedTime) {
setTime(elapsedTime);
}
public Time(int hour, int minute, int second) {
this.hour = hour;
this.minute = minute;
this.second = second;
}
public int getHour() {
return hour;
}
public int getMinute() {
return minute;
}
public int getSecond() {
return second;
}
public void setTime(long elapsedTime) {
long totalSeconds = elapsedTime / 1000;
second = (int) (totalSeconds % 60);
long totalMinutes = totalSeconds / 60;
minute = (int) (totalMinutes % 60);
long totalHours = totalMinutes / 60;
hour = (int) (totalHours % 24);
}
}
```
在这个示例中,我们定义了一个Time类,包含了hour、minute和second三个数据域,以及无参构造方法、以流逝时间值构造Time对象的构造方法、以指定的小时、分钟和秒来构造Time对象的构造方法、三个数据域各自的获取方法和设置时间的方法。
其中,无参构造方法使用System.currentTimeMillis()方法获取当前时间的流逝时间值,以此来构造Time对象;以流逝时间值构造Time对象的构造方法则使用setTime()方法来设置时间;以指定的小时、分钟和秒来构造Time对象的构造方法则直接初始化hour、minute和second数据域。setTime()方法根据指定的流逝时间值计算出hour、minute和second数据域的值,并进行设置。