首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-02-28 
关于调用方法中内部类的问题。Java codepublic class Test5{public static void main(String[] args){}publ

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

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();    }} 

热点排行