对象交互
- private 私有的,只能一个类里调用
- public 公有的,所有的都可调用,不在一个包中的也可以
- 如果一个函数前什么都不加则是 friendly 可以在同一个包中被使用。
- 编译单元:一个源代码文件是一个编译单元
- 一个编译单元中只能有一个public的类
时钟
public class Display {
private int value = 0;
private int limit = 0;
public Display(int limit){
this.limit = limit;
}
public void increase() {
value++;
if(value == limit) {
value = 0;
}
}
public int getValue() {
return value;
}
public static void main(String[] args) {
Display display = new Display(24);
for(;;) {
display.increase();
System.out.println(display.getValue());
}
}
}
public class Clock {
private Display hour = new Display(24);
private Display minute = new Display(60);
public void start() {
while(true) {
minute.increase();
if(minute.getValue() == 0) {
hour.increase();
}
System.out.printf("%02d:%02d\n",hour.getValue(),minute.getValue());
}
}
public static void main(String[] args) {
Clock clock = new Clock();
clock.start();
}
}
- 如果你使用的类与你现在不在一个包内,则需要在开头加上import + 包名 + 包中的那个类的名字 或者在之后引用类的名字使写上全名(包名 + 类名)
- 如果引用一个包中的所有类可以 import + 包名 + . + *
但是一般为了避免有名字冲突等情况,一般不使用 - 引用包中的包时,可以 import 包 . 包
类函数
- 用static修饰的函数
- 函数前有static修饰表明这个函数不属于任何一个对象,而是属于这个类
- 用static修饰的函数可以在main函数中直接调用(也可以用对象去调用),没有被static修饰的函数则需要用对象去调用
- 用对象去访问static函数时并不能获得该对象的信息
类变量