gpt4 book ai didi

java - java.net.DatagramSocket 中对构造函数 "super(null)"的调用不明确?

转载 作者:行者123 更新时间:2023-12-01 18:13:01 25 4
gpt4 key购买 nike

我正在扩展类 Java.net.DatagramSocket 并为子类提供自己的构造函数。我的新类 UDP_Socket 的构造函数如下

private UDP_Socket(int port) throws IOException {
super(null); // Creates an unbound socket.
super.setReuseAddress(true); // You set reuse before binding.
super.bind(new InetSocketAddress(port)); // finally, bind
}

唯一的问题是在super(null)线上,我得到对构造函数DatagramSocket(DatagramSocketImpl)和DatagramSocket(SocketAddress)的不明确引用。我需要 super(null) 行来创建未绑定(bind)的套接字,并且我相信我应该在绑定(bind)之前设置重用地址套接字选项。如何修复此错误?

最佳答案

问题是因为您调用的 super(null)DatagramSocket(DatagramSocketImpl)DatagramSocket(SocketAddress) 的有效参数。

所以,编译器很困惑。您只能调用其中一个构造函数。

使用,

super((DatagramSocketImpl) null);

或者,

super((SocketAddress) null);

取决于您要调用哪个构造函数。

关于java - java.net.DatagramSocket 中对构造函数 "super(null)"的调用不明确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31444976/

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