- Java code
public class Test5{ public static void main(String[] args) { } public static void name() { final int i = 0; class inner { public void print() { System.out.println(i); } } } }
我想在main函数中调用 inner中的print方法。可以调用吗?如果可以,该怎么调用?
------解决方案--------------------
楼主 内部类的位置放得貌似有问题啊:
public class Test5
{
public static void main(String[] args)
{
Test5 T = new Test5();
inner i = T.new inner() ;
i.print();
}
public static void name()
{
final int i = 0;
}
class inner
{
public void print()
{
System.out.println("5");
}
}
}
------解决方案--------------------
在方法体中定义的内部类最大的特点是只能访问方法中final类型的局部变量,出了这个方法体,这个inner类无法访问。可以在方法体内创建一个inner的对象,再调用print(),但这样就有点多此一举了。
------解决方案--------------------
只能在 name方法体里调用。
- Java code
public class Test5{ public static void main(String[] args) { name(); } public static void name() { final int i = 0; class inner { public void print() { System.out.println(i); } } new inner().print(); }}