gpt4 book ai didi

java - 这个接口(interface)是否被实例化? (Java 8)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:58 25 4
gpt4 key购买 nike

据我所知,接口(interface)不能直接实例化。但是,每当我编译以下代码时:

interface A {};

public class Test {
public static void main(String[] args){
A a = new A() {};
system.out.println(a);

它输出类 Test 对象的 toString():

Test$16d06d69c

当我改变的时候

A a = new A() {};

A a = new A();

它不编译。为什么会这样?接口(interface)是被实例化了,还是在幕后发生了其他事情?

最佳答案

您正在定义一个新的匿名内联类,它使用以下语句实现接口(interface) A:

A a = new A() {};

并且在同一条语句中,您正在构造新的匿名类定义的新实例。

所以不,你不是在实例化一个接口(interface)。

关于java - 这个接口(interface)是否被实例化? (Java 8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45746221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com