gpt4 book ai didi

Java要求创建已经存在的构造函数

转载 作者:行者123 更新时间:2023-12-03 21:40:21 25 4
gpt4 key购买 nike

我正在尝试用 Java 创建客户端和服务器应用程序。但是我收到一个 "The constructor ServerIO(Socket) is undefined" 异常。有人可以告诉我我在这里缺少什么吗?

我的 setup.server() 函数(简化):

import java.net.Socket;
import java.net.ServerSocket;
import inputOutput.*;

public void server (int port) {
try {
ServerSocket sock = new ServerSocket(port);
Socket client = sock.accept();
ServerIO serverIO = new ServerIO(client);
} catch (IOException e) {
e.printStackTrace();
}
}

我的输入输出处理程序构造函数(简化):

import java.net.Socket;

public ServerIO(Socket socket) {
this.socket = socket;
try {
this.in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
this.out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
} catch (IOException e){
e.printStackTrace();
}
}

堆栈跟踪:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The constructor ServerIO(Socket) is undefined

at Setup.server(Setup.java:29)
at Setup.main(Setup.java:113)

最佳答案

Eclipse 中 Project -> Clean 选项的作用是删除已编译的文件,以便从头开始重新构建项目。

您的代码和编译后的文件很可能存在差异,编译后的文件不包含构造函数,这导致了一个令人困惑的错误。

我发现在发生令人困惑的错误时使用此选项很有用,例如找不到明显存在的内容或 import 似乎不起作用。尝试 Clean 以查看它是否解决了这些问题始终是一个好主意,因为它也不会花费很长时间来尝试。

关于Java要求创建已经存在的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59751760/

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