샘플 :Java Reflection을 사용하여 중첩 클래스의 인스턴스를 만들 수 있습니까? 코드의
public class Foo
{
public class Bar
{
public void printMesg(String body)
{
System.out.println(body);
}
}
public static void main(String[] args)
{
// Creating new instance of 'Bar' using Class.forname - how?
}
}
는 클래스 바의 이름을 지정의 새 인스턴스를 만들 수 있습니까? 내가 사용하려고 :
Class c = Class.forName("Foo$Bar")
이 클래스를 발견,하지만 난 c.newInstance를 사용할 때()가있는 InstantiationException가 발생합니다.
Nitpick :.. 그 중첩 클래스 아니다, 그것은 내부 구성원의 ..? (내가 제대로 JLS 용어를 기억한다면) 클래스 상자의 클래스는 정적, 쉽게 그냥 시도 메커니즘에 의해 초기화됩니다 – skaffman
은'InstantiationException' –
내부 클래스의 세부 사항은 무엇 이었는가 중첩 된 클래스의 유형 –