当前位置: 首页 > 面试题库 >

创建界面的“对象”

贲铭
2023-03-14
问题内容

今天,我和一个朋友吵了一架,他声称可以创建接口对象。当我说这不可能的时候,他给我看了下面的代码,看起来与匿名类相似。现在的问题是,正确的答案是什么?

public interface I {
    public void f();
}

public class InterfaceTest {
    public static void main(String []args){
        new I(){
            @Override
            public void f() {
                System.out.println("HELLO");                
            }           
        };
    }
}

这真的可以称为创建接口“对象”吗?


问题答案:

不,这是创建实现该接口的匿名类的实例。

这是Java语言规范第15.9节中的明确答案:

不合格和合格的类实例创建表达式都可以选择以类主体结尾。这样的类实例创建表达式声明一个匿名类(第15.9.5节)并创建一个实例。



 类似资料:
  • 我无法创建正确的对象。我有一个存储时间的日历。例如,他想要一个时间表来保存这样一个物体 如何,点击保存按钮后,发送这样一个对象到: 接口: https://stackblitz.com/edit/angular-ivy-e92ezv?file=src/app/app.component.ts

  • 在开始“杂货铺”app编程之前,理解 NativeScript app 的文件夹结构是比较重要的。这有助于你了解在哪里放置新文件,又能理解一些在 NativeScript 内部将要发生事情。 那就用你的文本编辑器打开你的app文件夹 sample-Groceries ,我们继续深入。 本节内容 2.1: Directory structure 目录结构 2.2: Adding UI compone

  • 当我们在主屏幕上点击了一项,我们希望跳转到一个详情界面并且可以看到一些关于那天天气预报的额外信息。我们当前点击了一项之后只是显示了一个toast,但是现在是时候去修改它了。

  • 5.1 创建密码输入界面 5.1.1 示例代码 创建密码输入界面时,这里描述了安全性方面需要考虑的一些要点。 这里仅提及与密码输入有关的内容。 对于如何保存密码,未来会发布另一篇文章。 要点: 输入的密码应该被屏蔽显示(用*显示) 提供以纯文本显示密码的选项。 警告用户以纯文本显示密码有风险。 要点:处理最后输入的密码时,请注意以下几点以及上述要点。 如果在初始界面中有最后输入的密码,则将黑点的固

  • 我有一个Ggogle表格,用于接收订单并在图表中显示它们,以及价格、接收日期、订单ID等信息。我需要制作一个界面,使我能够远程发送订单到表格,并远程编辑它们。我曾想过使用谷歌表单来完成这项工作,但据我所知,没有办法编辑这样的表单,只能发送订单。最好的方法是什么?

  • 问题内容: 是否有用于eclipse的插件,可让我从界面快速生成新类? 无需在新的类对话框中进行键入 理想情况下,让我选择一个像Impl这样的标准名称来生成它 问题答案: 我还没有看到执行此操作的任何插件,但是对我来说,这似乎是一个合理的捷径。 以下内容可以构成插件直接从所选接口生成类的基础。它可以在我的box(TM)上使用。 当前假定类将使用带有“ Impl”后缀的接口名称,并且如果该类型已经存