【发布时间】:2021-03-17 05:48:07
【问题描述】:
我想知道是否有任何方法可以借助 Outerclass 对象在 main() 方法中创建方法本地内部类对象。
public class Outerclass {
// instance method of the outer class
void my_Method() {
int num = 23;
// method-local inner class
class MethodInner_Demo {
public void print() {
System.out.println("This is method inner class "+num);
}
} // end of inner class
// Accessing the inner class
MethodInner_Demo inner = new MethodInner_Demo();
inner.print();
}
public static void main(String args[]) {
Outerclass outer = new Outerclass();
outer.my_Method();
}
}
编辑-1: 我正在探索在 main 方法中实例化方法本地内部类的方法(我知道方法本地内部类对 main 方法不可见)但是,有什么解决方法吗?
public class Outerclass {
// instance method of the outer class
void my_Method() {
int num = 23;
// method-local inner class
class MethodInner_Demo {
public void print() {
System.out.println("This is method inner class "+num);
}
} // end of inner class
}
public static void main(String args[]) {
Outerclass outer = new Outerclass();
//inner-class object is created while calling my_Method()
// TBH IDK how to do this
outer.my_Method().new MethodInner_Demo();
}
}
【问题讨论】:
-
如果要从其他函数中访问,为什么要在函数中声明该类?
-
@akuzminykh 可能是这样它可以访问局部变量
num。这当然会导致一个问题,如果该类是从另一个方法实例化的,将使用哪个num。 -
感谢您的努力,请参阅edit1。
-
@akuzminykh,为了回答你的问题,我正在探索方法本地内部类的灵活性以重用预先编写的类的可能性。
标签: java static inner-classes