如图,在eclipse中,在项目中文件夹下的就是包。
这个(clock)包中有3个.java文件。![在这里插入图片描述](https://img-blog.csdnimg.cn/d0ea9f322ed149bb964422218f917d0d.png#pic_center
在资源管理器中的表现形式。
新建一个包,将Main函数移动到新的包中
文件不在一个包中,代码也要做一些修改:
在package的声明下面加入下面两句话(要确保Clock和Display类是public的)
import clock.Clock;
import clock.Display;
以下代码目的是模拟时钟。
//Main的代码
package test;
import clock.Clock;
import clock.Display;
public class Main {
public static void main(String[] args) {
java.util.Scanner in = new java.util.Scanner(System.in);
Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());
while(true)
{
clock.tick();
System.out.println(clock);
}
}
}
//Clock的代码
package clock;
public class Clock
{
private Display hour = new Display(24);
private Display minute = new Display(60);
private Display second = new Display(60);
public Clock(int hh, int mm, int ss)
{
hour.setvalue(hh);
minute.setvalue(mm);
second.setvalue(ss);
}
public void tick()
{
second.increase();
if(second.getValue() == 0)
{
minute.increase();
if(minute.getValue() == 0)
{
hour.increase();
}
}
}
public String toString()
{
String s = String.format("%02d:%02d:%02d", hour.getValue(), minute.getValue(), second.getValue());
return s;
}
}
//Display的代码
package clock;
public class Display
{
private int value = 0;
private int limit = 0;
public Display(int limit)
{
this.limit = limit;
}
public void setvalue(int value)
{
this.value = value;
}
public void increase()
{
value++;
if(value == limit)
{
value = 0;
}
}
public int getValue()
{
return value;
}
public static void main(String[] args)
{
Display d = new Display(24);
d.value++;
}
}