当前位置: 代码迷 >> J2SE >> 关于调用方法中内部类的有关问题
  详细解决方案

关于调用方法中内部类的有关问题

热度:171   发布时间:2016-04-24 02:24:21.0
关于调用方法中内部类的问题。
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();    }}
  相关解决方案