这是我的家庭作业问题:
为“时钟”类编写类声明。它应该具有小时、分钟、秒(所有整数)的实例变量。它还应该有一个 toString() 方法以如下所示的格式显示时间。编写一个单独的“ClockDriver”类来 a) 创建一个时钟实例,b) 设置时钟的小时、分钟和秒,以及 c) 使用 getTime() 显示时钟的时间。使用第 36 页的 Dog 类示例作为指导。样品输出如下所示:
时间是 3:45:00
// 如果不能同时输入两个零,请不要担心
// 第二个字段。那是格式问题
// 我们稍后会处理
这是我的时钟课:
class Clock {
int hours;
int minutes;
int seconds;
public String toString() {
String temp = ("");
return temp.format("%02d:%02d:%02d", hours, minutes, seconds);
} //end method toString
public void getTime() {
System.out.print("The time is " + toString());
} //end method getTime
} //end class Clock
这是我的 ClockDriver 类:
public class ClockDriver {
public static void main (String[] args) {
Clock c = new Clock();
c.hours = 4;
c.minutes = 30;
c.seconds = 00;
c.getTime();
} //end main
} //end class ClockDriver
即使它编译得很好并且工作得很好,我也得到了我认为来自 IDE 的警告,说我的
return temp.format("%02d:%02d:%02d", hours, minutes, seconds);
行正在通过实例引用访问静态成员。具体来说,
temp.format
少量。
所以我的问题是:
1.) 为什么不一定鼓励通过实例引用访问静态成员?
2.) 有没有更好的方法把它放在一起,这样我就不会通过实例引用访问静态成员?
提前致谢!