public class Outer {
public void instantiated() {
Inner in = new Inner();
}
class Inner {
public void a() {
}
}
}
class Inner can be instantiated in instance method, cuz before new Inner() is called, there must be an outer class instance existing, and if the method instantiated is static, it's not assured.