在开始活动时,我创建并调用一个Thread:
new Thread (new Connect()).start();
Thread t = new Thread() {
@Override
public void run() {
try {
//check if connected!
while (!Connect.logged) {//logged is boolean
Thread.sleep(1000);
}
} catch (Exception e) {
e.printStackTrace();
}
}
};
t.start();
在类Connect(实现Runnable)中,我创建并打开一个套接字。除了方法运行之外,我还有方法sendMessage(String)和receiveMessage(),它们使用BufferOutputStream和BufferInputStream与服务器进行通信。
现在,我需要发送和接收来自其他活动的消息。将这些方法设为静态是好的做法吗?
所以我可以调用它们,例如Connect.sendMessage(“OK”);
答案 0 :(得分:1)
在Java中使方法静态的规则
没有硬性和快速,写得很好的规则来决定何时使方法成为静态,但很少有基于经验的观察,这不仅有助于使方法静态,而且还教导何时使用静态Java中的方法。您应该考虑在Java中使用静态方法:
1)如果方法不修改对象的状态,或者不使用任何实例变量。
2)你想调用方法而不创建该类的实例。
3)如果方法仅适用于提供给它的参数,则该方法是静态的良好候选者。 public int factorial(int number){},此方法仅对作为参数提供的数字进行操作。
4)实用方法也是静态的良好候选者,例如StringUtils.isEmpty(String text),这是一个检查String是否为空的实用方法。
5)如果方法的功能在类层次结构中保持静态,例如equals()方法不是制作静态的好选择,因为每个Class都可以重新定义相等。
了解详情:http://javarevisited.blogspot.com/2013/07/when-to-make-method-static-in-java.html#ixzz48L2fehQq