以下是我的作业题目:
编写一个名为“Clock”的类声明。它应该具有小时、分钟、秒钟(都是整数)的实例变量。它还应该有一个toString()方法来显示以下格式的时间。编写一个单独的“ClockDriver”类,以a)创建一个时钟实例,b)设置时钟的小时、分钟和秒钟,c)使用getTime()显示时钟的时间。可参考第36页的Dog类示例。下面是一个样本输出:
The time is 3:45:00
// 如果秒的数字无法达到两位,不必担心
// 这是一个格式问题,我们稍后会处理
以下是我的Clock类:
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
位(bit)。
所以我的问题是:
1.) 为什么不鼓励通过实例引用访问静态成员?
2.) 是否有更好的方法将其组合在一起,以便我不通过实例引用访问静态成员?
提前感谢!