代码之家  ›  专栏  ›  技术社区  ›  ALTAF

如何从匿名内部类访问非final变量?

  •  0
  • ALTAF  · 技术社区  · 6 年前

    我有两个Java类。

    但在Test2类中,为什么允许我访问匿名内部类中的非final变量?

    TestLogging

    Test2

    2 回复  |  直到 6 年前
        1
  •  4
  •   ernest_k Petronella    6 年前

    这种差异是由于您正在编译的JDK的版本(或目标版本)造成的。

    Java8理解 变量。在使用jdk8编译时,不必显式地将变量声明为 final 以便在匿名类中引用它。

    换句话说,变量 s this answer 更多信息)。

    在Java8(以及其他项目)之前- TestLogging -目标版本为1.5),变量必须显式声明为final

        2
  •  2
  •   Tsolak Barseghyan    6 年前

    检查java版本的maven配置 enter image description here