How to call methodTwo(); from methodOne(); ?
class Name {
void methodOne() {
class InnerClass {
void methodTwo() {
}
}
}
}
Thank You!
解决方案
You need to create an instance of the InnerClass, in the same way as any other instance method needs an instance on which to call it:
class Name {
void methodOne() {
class InnerClass {
void methodTwo() {
}
}
InnerClass x = new InnerClass();
x.methodTwo();
}
}
It's worth being careful before doing this - I don't think I've ever seen a named class declared within a method in the production code I've been associated with. Normally I'd either use an anonymous inner class for something really short, or a private static named class for anything longer, to avoid making the method too long.