本帖最后由 曲终烟尽 于 2015-5-31 12:00 编辑
- class YinShuiJi{//定一个类叫做 饮水机
- public static final String name="美帝牌饮水机";
- public static final double totalMl;
- public static final String color="蓝白色";
- static
- {
-
- if(name=="格里牌饮水机")
- {
- totalMl=2000;
- }
- else
- {
- totalMl=3000;
- }
- }
-
-
-
- private static double waterml ; //定义一个私有静态double型变量waterml 表示 饮水机里的水的剩余容量
- private YinShuiJi(){};//私有化构造函数,不允许创建多个实例,一个教师只有一个饮水机,不能每个人都有一个
- private static YinShuiJi ysj; //私有静态 饮水机类型变量 ysj用于保存本类的实例并提供给别人使用
- public static YinShuiJi getInstance()//公开 静态 返回 饮水机类型 getInstance,该方法返回一个 饮水机类型的实例 ysj
- {
- if(ysj==null)
- {
- ysj=new YinShuiJi();
- }
- return ysj;
- }
- public void addWater(double waterml)
- {
- YinShuiJi.waterml+=waterml;
- System.out.println("加了"+waterml+"ml水,现在有"+YinShuiJi.waterml+"ml水");
- }
- public void getWater(double waterml)
- {
- if(YinShuiJi.waterml>=waterml)
- {
- YinShuiJi.waterml-=waterml;
- System.out.println("取走了"+waterml+"ml水,还剩"+YinShuiJi.waterml+"ml水");
- }
- else
- {
- System.out.println("水不够了,请加水.已经把最后"+YinShuiJi.waterml+"ml水给你了.现在没水了.");
- YinShuiJi.waterml=0;
- }
-
- }
-
- public String getName()
- {
- return YinShuiJi.name;
- }
- }
- class Test
- {
- static
- {
- System.out.println("A");
- }
- public static void main(String[]args)
- {
- YinShuiJi ysj=YinShuiJi.getInstance(); //新建一个YinShuiJi类型的引用 ysj,指向 YinShuiJi.ysj 所指向的YinShuiJi类型实例
- YinShuiJi ysj2=YinShuiJi.getInstance(); //新建一个YinShuiJi类型的引用 ysj2,指向 YinShuiJi.ysj 所指向的YinShuiJi类型实例, ysj和ysj2指向同一个 实例.
- System.out.println(YinShuiJi.name);
- System.out.println(ysj.totalMl);
- ysj.addWater(1000);
- ysj.addWater(1000);
- ysj.getWater(500);
- ysj2.getWater(500);
- ysj2.getWater(1500);//这时水只剩1000ml,又取1500是取不出来的.最多取1000
- <blockquote>}
复制代码
|