package test;
public class TestStatic {
private static TestStatic ts=new TestStatic();
private TestStatic(){}
public static TestStatic getIns(){
return ts;
}
public void getTest(){
TestDy dy=new TestDy();
System.out.println(dy);
}
public class TestStatic {
private static TestStatic ts=new TestStatic();
private TestStatic(){}
public static TestStatic getIns(){
return ts;
}
public void getTest(){
TestDy dy=new TestDy();
System.out.println(dy);
}
}
package test;
public class TestDy {
private int i=0;
public static void main(String[] args) {
for (int i = 0; i < 4; i++) {
TestStatic test=TestStatic.getIns();
test.getTest();
}
}
public int getDemo(){
i++;
return i;
}
}
启动main方法时得出:
test.TestDy@15db9742
test.TestDy@6d06d69c
test.TestDy@7852e922
test.TestDy@4e25154f
当打印dy改为dy.getDemo时;结果全为一
所以说明:静态类中new对象 每次创建都会覆盖前一次创建的对象。
对象方法在静态中不是共享的。