java编译器是否在内部为接口创建构造函数?

java编译器是否在内部为接口创建构造函数?,java,Java,下面是我的一个简单程序: interface X {} public class Y implements X { public static void main(String[] args) { X x = new Y(); } } 现在,据我所知,如果Y和x之间存在is-a关系,变量x将能够保存对象类型Y。也就是说,类Y是接口x的一种类型 但是我们知道接口不能被实例化,也不能有构造函数。然后编译器是否在.class文件中为接口创建构造函数 但是我们知道接口

下面是我的一个简单程序:

interface X {}

public class Y implements X {
    public static void main(String[] args) {
        X x = new Y();
    }
}
现在,据我所知,如果Y和x之间存在is-a关系,变量x将能够保存对象类型Y。也就是说,类Y是接口x的一种类型

但是我们知道接口不能被实例化,也不能有构造函数。然后编译器是否在.class文件中为接口创建构造函数

但是我们知道接口不能被实例化,也不能有构造函数。然后编译器是否在.class文件中为接口创建构造函数

没有

这里不是实例化X,而是实例化对象Y并将其分配给X,因为Y的类型是X

这种范式被称为

但是我们知道接口不能被实例化,也不能有构造函数。然后编译器是否在.class文件中为接口创建构造函数

没有

这里不是实例化X,而是实例化对象Y并将其分配给X,因为Y的类型是X


该范例称为。

谢谢。那么,实现X的Y是否意味着Y是X的一种类型?如果是,那就意味着,接口只是抽象类的一种不同形式。你的理解是正确的。谢谢。那么,实现X的Y是否意味着Y是X的一种类型?如果是,那就意味着,接口只是抽象类的一种不同形式。你的理解是正确的。