차의 인스턴스 인 myCar라는 개체가 있다고 가정 해 보겠습니다.개체 클래스의 새 인스턴스 만들기
myCar = new Car();
개체를 기반으로 해당 클래스의 새 인스턴스를 만들려면 어떻게해야합니까? myCar가 어떤 클래스에서 만들어 졌는지 알지 못한다고 가정 해 봅시다.
otherObject = new myCar.getClass()(); // Just do demonstrate what I mean (I know this doesn't work)
UPDATE
public class MyClass {
public MyClass(int x, int y, Team team) { }
public MyClass() { }
}
Object arg = new Object[] {2, 2, Game.team[0]};
try {
Constructor ctor = assignedObject.getClass().getDeclaredConstructor(int.class, int.class, Team.class);
ctor.setAccessible(true);
GameObject obj = (GameObject) ctor.newInstance(arg);
} catch (InstantiationException x) {
x.printStackTrace();
} catch (IllegalAccessException x) {
x.printStackTrace();
} catch (InvocationTargetException x) {
x.printStackTrace();
} catch (NoSuchMethodException x) {
x.printStackTrace();
}
나는 다음과 같은 오류 얻을 : 작품과 세 개의 인수 내 생성자를 찾습니다)
java.lang.IllegalArgumentException: wrong number of arguments
getDeclaredConstructor을 (그러나 newInstance와 (ARG)가 작동하지 않습니다 어떤 이유로, 그것은 "잘못된 인수의 수"라고 말합니다. 왜 그런가? 반사 클래스를 가정
otherObject = myCar.getClass().newInstance();
와
도움이 필요합니다. http://stackoverflow.com/questions/7698237/whats-the-properway-to-use-reflection-to-instantiate-objects-of-unknown-classe – LokiSinclair