2013-11-29 3 views
0

У меня есть следующий класс:Как метод доступа и свойства динамически созданного объекта для класса

package anto.com.basic; 

public class IntArrayManipulation { 
    public static void changeMe(int valueArray[]){ 
     valueArray[4]=5; 

     for (int i = 0; i < valueArray.length; i++) { 
      System.out.println(" in method : Ref : "+i+ "Value : "+valueArray[i]); 
     } 
    } 
    public static void main(String[] args) { 
     int value[] = new int[5]; 

     value[0] = 1; 
     value[1] = 2; 
     value[2] = 3; 
     value[3] = 4; 

     for (int i = 0; i < value.length; i++) { 
      System.out.println(" main Ref : "+i+ "Value : "+value[i]); 
     } 

     changeMe(value); 

     for (int i = 0; i < value.length; i++) { 
      System.out.println(" in main : after changeMe called Ref : "+i+ "Value : "+value[i]); 
     } 


    } 

} 

и я создать объект, как следующее:

package anto.com.basic; 

public class CreateObject { 
    public static void main(String[] args) throws ClassNotFoundException { 
     String className = "anto.com.basic.IntArrayManipulation"; 
     Object obj = Class.forName(className); 
    } 
} 

я не получаю никаких проблем от Теперь. но как мне получить доступ к методам и свойствам, доступным в созданном объекте?

Благодаря

ответ

1

Вы должны прочитать учебники по размышлении, проверьте this, например.

Accessing fields:

Class.getDeclaredField(String name) 

Accessing Methods:

Class.getDeclaredMethod(String name, Class<?>... parameterTypes) 
0

Я думаю, что вы имеете в виду, чтобы спросить, как вы можете сделать "OBJ" выглядеть как IntArrayManipulation вы знаете, что на самом деле.

Ответ на этот вопрос является брось:

IntArrayManipulation obj = (IntArrayManipulation) Class.forName(className); 

Однако, я немного сомнительный, почему вы хотите создать объект с помощью отражения таким образом. Если у вас есть уважительная причина, вы должны просто делать:

IntArrayManipulation object = new IntArrayManipulation(); 

... и я подозреваю, что вы, вероятно, не означает, что все эти методы являются статическими либо.

Смежные вопросы