2.1对象的识别
package clock;
public class Display {
private int value = 0;//private代表该定义的变量只能在内部调用
private int limit = 0;
public Display(int limit)
{
this.limit = limit;
}
public void increase()
{
value++;
if(limit == value) {
value = 0;
}
}
public int getValue(){
return value;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Display d = new Display(24);
for(; ;) {
d.increase();
System.out.println(d.getValue());
}
}
}
2.2对象的交互
当分钟满60以后,如何通知小时加1?
通过Clock这个类来进行联系
package clock;
public class Clock {
private Display hour = new Display(24);
//创建了一个display的对象,一个名为hour的成员变量
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());
//%02d表示输出字符一定占据两个位置,不足位数的用0
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Clock clock = new Clock();
clock.start();
}
}
2.3封闭的访问属性
1,private只能用于成员变量和成员函数
private int value = 0;//private代表该定义的变量只能在类的内部调用
2.4开放的访问属性
1,如果不在成员函数前面加上“private”或者“public”来限定它,它就是“friendly”,意味着和它位于同一的package的其他类(除去“private”,“public”之外其他的类)可以访问它。
2,编译单元
一个编译单元里面可以有很多类,但只有一个public的类
2.5包
1,
import display.Display;//使用另外一个包(display)里的类(Display)
2,
2.6类变量
static——类变量
属于这个类(Display),不存在于对象(d1,d2)之中
2.7类函数
1,static的函数只能调用static的函数,只能访问static的成员变量。
———————————————————————————————————————————
———————————————————————————————————————————
如图所示,不能直接调用 increase(),static是类变量。只属于属于这个类(Display),因此static的函数只能调用static的函数,只能访问static的成员变量。
2,step的初始化只做一次