java 如何调用局部内部类和匿名类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 如何调用局部内部类和匿名类相关的知识,希望对你有一定的参考价值。

我想知道在MAIN()中如何调用局部内部类。成员内部类在MAIN()中可以通过外部类的方法调用生成,但局部内部类和匿名类不知道怎么在MAIN()调用:例如如何在MAIN()调用下面的局部内部类:
interface OutInterface2 //定义一个接口

class OuterClass3
public OutInterface2 doit(final String x) //doit()方法参数为final类型
class InnerClass2 implements OutInterface2 //在doit()方法中定义一个内部类
InnerClass2(String s)
s=x;
System.out.println(s);


return new InnerClass2("doit");


注:有不明白意思可以提出!
现在我知道成员内部类,局部内部类可以通过在外部类方法中的返回内部类继承接口语句就可以在MAIN()中定义内部对象,但下面的这个匿名类不知道怎么调用:例如:
class OuterClass4
public OutInterface2 doit()//定义doit()方法
return new OutInterface2()//声明匿名内部类
private int i=0;
public int getValue()
return i;






谢谢2楼,我现在明白匿名类的一些在MAIN()调用的方法了!下面这个问题又是怎么了!
如果上面的那个getValue()方法不是接口OutInterface2的方法,是不能通过编译的,这是为什么?

匿名内部类是没有类名的,所有方法都是直接在里面实现好了的,不需要什么调用。像你上面的例子,你可以直接调用包含匿名内部类的那个方法,不就等于调用了匿名内部类吗 参考技术A 局部内部类,外部不可见吧。

以上是关于java 如何调用局部内部类和匿名类的主要内容,如果未能解决你的问题,请参考以下文章

黑马程序员——————> 局部内部类&匿名内部类

java-07 内部类匿名内部类局部内部类lambda

Java之局部内部类和匿名内部类的区别详解(附源码)

java基础15 内部类(成员内部类局部内部类)和匿名内部类

Java学习(十六)成员内部类,静态内部类,匿名内部类,局部内部类

Java语言中四种内部类(成员内部类,局部内部类,静态内部类,匿名内部类)在实际使用中有啥好处?