package text;
/**
* 仿照单子模式的测试
* @author Alex
*
*/
public class Static {
//static final int c=0; // 当c为final后就不可以再次给予附值
static int c=0;
private static Static ss=new Static();
public static Static method(){
//Static sta=new Static();//
//System.out.print(Static.c++);
return ss;
}
public int cc(){
return c++;
}
public static void main(String[] args){
Static sta1=new Static();
Static sta2=new Static();
System.out.print(c);//输出的只是c的值,而没有执行方法
System.out.print("/n");
Static cc1=sta1.method();Static cc2=sta1.method();;
System.out.print("对象cc1的返回值"+cc1.cc()+" "+"对象cc2的返回值"+cc2.cc());
sta2.method();System.out.println("/n");
System.out.print("/n");System.out.print(c);
System.out.print("/n");
//
//
// Static.method();System.out.println("/n");
ss.method();
}
}
/**经验,static 1.静态变量主要是为了调用时可以不用进行实例化而通过(类名.方法/变量)直接调用,比如方法,变量。
但当静态调用静态的情况下也可以不使用类名,而直接用。而如果不是静态方法调用自己类中的静态变量,如同
调用全局变量那样,可以直接用。2.静态变量相当于公共内存,只可初始化一次(单子模式就是其应用) 3.不能修饰构造器
*final 则主要用作最终话参数,一但附初值就不在变化。但是对创建对象时:因为每实例化一次,就重新分配
*一块内存,所以final可以通过传参改变初始值
*/