2009-12-21 10 views
3

런타임에 클래스의 많은 수의 별개의 객체를 만들어야합니다. 이 번호는 런타임에 결정됩니다.런타임에 객체를 어떻게 만듭니 까?

런타임시 int가 no_o_objects = 10 인 경우와 같습니다. 그러면 클래스를 10 번 인스턴스화해야합니다.
감사합니다.

+12

오브젝트은 런타임에 생성됩니다. –

+2

나는 그가 객체의 배열을 동적으로 할당한다는 것을 가정한다. 런타임에 결정되는 크기이다. – Anthony

+0

예, 객체 배열을 동적으로 할당하는 것을 의미했습니다. – Bohemian

답변

9

Arrays in the Java Tutorial을 읽으십시오. 자바

class Spam { 
    public static void main(String[] args) { 

    int n = Integer.valueOf(args[0]); 

    // Declare an array: 
    Foo[] myArray; 

    // Create an array: 
    myArray = new Foo[n]; 

    // Foo[0] through Foo[n - 1] are now references to Foo objects, initially null. 

    // Populate the array: 
    for (int i = 0; i < n; i++) { 
     myArray[i] = new Foo(); 
    } 

    } 
} 
0

오브젝트은 런타임에서 생성됩니다.

이 시도 :

Scanner im=new Scanner(System.in); 
int n=im.nextInt(); 

AnyObject s[]=new AnyObject[n]; 
for(int i=0;i<n;++i) 
{ 

    s[i]=new AnyObject(); // Create Object 
} 
0

이 그것을 할 것입니다.

0

아래와 같이 배열 또는 List을 사용할 수 있습니다.

MyClass[] classes = new MyClass[n]; 

이어서 루프 new MyClass()와 N 클래스를 인스턴스화 classes[i] 할당.

-1

이것은 앞으로 오는 질문입니다. 완벽한 해결책은 자바 리플렉션을 사용하는 것입니다. 런타임 중에 오브젝트를 작성하고 필요에 따라 캐스트 할 수 있습니다. 또한 객체 인스턴스의 수는이 기술로 해결할 수 있습니다.

이들은

좋은 참조입니다 : 자바에서

Reference1

Reference2

관련 문제