开放 public ,封闭,private 的访问属性
编译单元:一个.java文件,一个编译单元,可以有很多Java class ,但,只能有一个public class ,可以没有public类,没有public ,class只能在一个包里面使用,不能被其他包使用
//一个类Display
public class Display //如果一个类是public,则所有人都可以用他的定义来定义变量
{
//private针对的是类不是对象
//private 只能用于成员变量或成员函数,表示是这个类私有的,表示只有在这个类里面使用
private int value=0;//运行顺序 3
private int limit=0;//运行顺序 4
public修饰符----> 表示任何人都可以访问
public Display(int limit)//运行顺序 2 加载 3 ,4的信息
{
this.limit=limit;//运行顺序 5
}
public void increase()//运行顺序 7
{
value++;
if(value==limit)
{
value=0;
}
}
public int getValue()//运行顺序 9
{
return value;
}
//从主函数开始运行
public static void main(String[] args)
{
Display d=new Display(24);//运行顺序 1
for(; 😉 {
d.increase();//运行顺序 6
System.out.println(d.getValue());//运行顺序 8
}
}
}
//第二个类Clock
public class Clock
{
//一般成员变量都是私有的,只有这样成员变量才能按照设计者的意图去实现,而不被外部使用
private Display hour =new Display(24);//这里的hour是属于Display类的,这里Clock类不能访问使用
private Display minute=new Display(24);
public void start()
{ // hour.value++; 这是不可以的,hour对Clock类是隐藏的,不可见的但是是存在的
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();
}
}
两个类都有主函数,运行其中一个时只执行一个主函数,这两个类是分开的,不要放在一个代码块里面。Display只会做好自己的事,Clock负责把他们联系起来