- package mianxiangduixiang;
- class Single
- {
- private int num;
- public void setNum(int num)
- {
- this.num=num;
- }
- public int getNum()
- {
- return num;
- }
- private Single(){}
- private static Single s = new Single();//这个对象在类中被初始化,称为本类对象,于是开辟了内存A
- public static Single getInstance()
- {
- return s;//这里返回的就是已经初始化好的对象
- }
- }
- class SingleDemo
- {
- public static void main(String[] args)
- {
- Single s1 = Single.getInstance();//s1指向了上面那个本类对象,实际就是指向了内存A
- Single s2 = Single.getInstance();//同样,s2也指向了内存A
- s1.setNum(23);//s1改变了内存A的内容
- System.out.println(s2.getNum());//s2是指向内存A的,内存A已经被s1.setNum(23);改变了,s2获得的值当然也改变了.
复制代码 这就像有两伙人想揍你,他们都有你家的地址,无论是哪伙把你揍了.你都获得了鼻青脸肿的状态,其他人到你家找你,都发现你是鼻青脸肿的.
开个玩笑,是你要我说得通俗点的,可能还有点粗俗...{:soso_e112:}
|