【问题标题】:How Anonymous class different from other classes in Java?匿名类与 Java 中的其他类有何不同?
【发布时间】:2016-01-11 14:20:51
【问题描述】:

我知道匿名类没有任何名称。 它在 Simple 类中使用。但除此之外,Anonymous 类与我们使用的 Simple 类有何不同?

【问题讨论】:

  • 它们的不同之处在于没有名称。你有什么问题?

标签: java class anonymous-class


【解决方案1】:

匿名类与本地类相同,只是它们没有名称。
它们是表达式而不是声明。因此它将成为语句的一部分(即创建对象的语句,因此我们在匿名类定义之后放置一个半列)。如果您只需要使用一次匿名类,则可以使用它。

要点:

  1. 您不能在其中声明构造函数。

  2. 可以访问封闭类的所有类级变量,并且只能访问最终局部变量。

  3. 不能声明静态初始值设定项,但也可以有声明为 final 的静态变量。

在 Java 8 中,lambda 具有与匿名类相似的语法,如果您需要无状态实现,它们可以替换匿名类。

【讨论】:

    【解决方案2】:

    它们主要用于 UI 程序中以处理事件。如果您的类/接口具有一些功能,那么您无需为其创建新文件,而是将其嵌入现有类中。你可以在https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html找到详细的描述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-04
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多