클래스 와 동시에 초기 화

동시에 두 가지 유형 을 초기 화 하 는 의 미 는 두 가지 유형 간 의 관계 가 밀접 하 다 는 것 이다. 즉, 방법 이 항상 다른 유형 과 통신 할 때 통신 을 간소화 할 수 있다 는 것 이다.
/**
 *              ,         
 */
class A {
	public static A a;
	private String name = "A";
	
	public static A getInstance() {
		if(a==null)
		{
			a = new A();
			//   B
			B.getInstance();
		}
		return a;
	}
	
	@Override
	public String toString() {
		return name;
	}
}

class B {
	public static B b;
	private String name = "B";
	
	public static B getInstance() {
		if(b==null)
		{
			b = new B();
			//   C
			C.getInstance();
		}
		return b;
	}
	
	@Override
	public String toString() {
		return name;
	}
}

class C {
	public static C c;
	private String name = "C";
	
	public static C getInstance() {
		if(c==null)
		{
			c = new C();
			//   A
			A.getInstance();
		}
		return c;
	}
	
	@Override
	public String toString() {
		return name;
	}
}

public class Test {
	public static void main(String[] args) {
		//    
		System.out.println(A.a+" "+B.b+" "+C.c);
		//     
		A.getInstance();
		System.out.println("Hello, world!");
		System.out.println(A.a+" "+B.b+" "+C.c);
	}
}

좋은 웹페이지 즐겨찾기