innerclass μμλ κΈ°λ³Έμ μΌλ‘ Inner Class λ₯Ό ν¬ν¨νκ³ μλ μμν΄λμ€μ λ νΌλ°μ€κ° μμ±μλ‘ λ€μ΄κ°λ€. λ§μΉ C++ μμ λ©μλλ€μ λν΄ this κ° κΈ°λ³Έ νλΌλ©ν°λ‘ λμ΄κ°λ κ²κ³Ό κ°μ μ΄μΉλκΉ.
~cpp
import java.lang.reflect.Constructor;
public class InnerConstructorTest {
public static void main(String[] args) {
try {
Class outerClass = Class.forName("Outer");
Object outer = outerClass.newInstance();
Class innerClass = Class.forName("Outer$Inner");
Class[] consParamClasses = new Class[]{outerClass};
Constructor innerCons =
innerClass.getDeclaredConstructor(consParamClasses);
Object[] consParams = new Object[]{outer};
Object inner = innerCons.newInstance(consParams);
System.out.println(inner.toString());
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
}
}
}
class Outer {
int y = 3;
class Inner {
public String toString() {
return "" + y;
}
}
}










