gpt4 book ai didi

java - Java中没有接口(interface)的构造函数吗?

转载 作者:行者123 更新时间:2023-12-05 00:39:44 26 4
gpt4 key购买 nike

在 Java 中,如果我有一个接口(interface):

public interface MyInterface{
}

那么MyInterface的实现是:

class MyClass implements MyInterface {
public MyClass(int a) {
}
}

所以我的意思是,如果用户想要使用构造函数声明一个 MyInterface 实例:

MyInterface mine = new MyInterface(2);

那不可能吧?

最佳答案

MyInterface mine = new MyInterface(2);

then it is not possible right?

没错。你永远不能做类似的事情

MyInterface mine = new MyInterface(2);

new 之后,你必须选择一个实现接口(interface)(*),例如MyClass :

MyInterface mine = new MyClass(2);

为什么?
您可以将接口(interface)视为类的属性。类比是形容词,例如“红色”。例如,创建一个红球 (new RedBall()) 或一辆红色汽车 (new RedCar()) 是很有意义的,但只是创建“红色”( new Red()) 没有意义(“红色什么??”)。

(*) 您可以通过 new MyInterface() { ... } 创建动态实现接口(interface)的匿名类,但从技术上讲,您仍然在实例化一个类。

关于java - Java中没有接口(interface)的构造函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6201489/

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