gpt4 book ai didi

java - java中的客户端服务器

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

我正在用java(使用netbeans)构建一个客户端-服务器应用程序。在客户端我有 3 个类和一个 Connection类来处理从服务器发送和接收数据。这 3 个类使用相同的 Connection 类,因此我认为创建一个全局连接很有用,不同的类每次需要发送时都会使用该连接/接收数据。

所以从 C# 和 C++ 中我知道你可以声明一个静态类,但是在 Java 中不可能声明静态类..有什么想法吗?

最佳答案

引入全局状态通常被认为是不好的做法,但它确实有其用例。因此,您可能需要考虑单例模式。 Wikipedia on Singleton

在 java 中,一个简单的实现可能如下所示(未经测试的代码):

 public class MyConnectionClass {
private static final MyConnectionClass SINGLE_INSTANCE = new MyConnectionClass();

private MyConnectionClass() {}

public static MyConnectionClass getInstance() {
return SINGLE_INSTANCE;
}
}

然后,您就可以在需要时使用它来获取单例实例

MyConnectionClass.getInstance()

请注意,该类有一个私有(private)构造函数。这确保您无法使用

MyConnectionClass not_singleton_anymore = new MyConnectionClass()

也可以使用枚举,有些人认为这是在 Java 中实现单例的最佳方法。从维基百科复制的示例:

public enum Singleton {
INSTANCE;
public void execute (String arg) {
//... perform operation here ...
}
}

希望有帮助。

关于java - java中的客户端服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225073/

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