2013-11-15 2 views
-1

예제를 제공하기에는 너무 많은 코드가 필요합니다.이름이 액세서 호출 인 객체를 인스턴스화하는 방법은 무엇입니까?

각 개체에 고유 한 이름을 생성하면서 무한정 초기화 할 수 있어야하는 새 개체를 만들고 있습니다.

본질적으로 일반 이름 + int (이러한 개체 중 하나가 생성 될 때마다 값이 증가하므로 "class1, class2, class3 ..."과 같은 이름을 부여 함) .

내가 이름을 반환 이름 생성기 클래스의 접근 자 메서드를 호출 할 수 있습니다,하지만이 값은 클래스의 이름이 필요

무기한 인스턴스화.

이도 가능합니까?

이러한 개체는 thread.sleep()을 기반으로 지연시 생성됩니다.

미리 감사드립니다.

+0

불행히도 간결한 코드 예제가 필요합니다. –

답변

0

찾고 계신 것이 있습니까? 당신은 그것의 인스턴스 객체의 이름을 저장할 수 있도록 자바 불가능

String str1 = "class1"; 
Class exampleClass = Class.forName(str1); 
Object ob = exampleClass.newInstance(); 

편집 , 당신은,는 HashMap을 만들 수 있습니다.

Map<String, exampleClass> map = new HashMap<String, exampleClass>(); 
... 
name = ...; // Here your method that returns a string 
map.put(name, new exampleClass()); 
count++; 
+0

이 예제를 사용하면 exampleClass가 이미 정의되고 생성 된 것으로 간주되며 이름 "ob"는 str1의 값이어야합니다. 이걸 할 수있는 방법은 없나요? – user2994932

+0

그럼 ob라는 클래스 "exampleClass"의 인스턴스를 만들고 싶습니까? – Christian

+0

자바에서는 불가능합니다. 자세한 내용은 다음을 참조하십시오 : http://stackoverflow.com/questions/15449814/naming-a-new-object-after-a-string – Christian

0

없습니다 당신은 키가 생성 된 이름 (클래스 1, Class2의 등)이며, 값은 새로 생성 된 객체입니다

는 대신이는 HashMap을 사용할 수 있습니다, 그렇게 질수 없음.

관련 문제