您好我在java中有一个Web服务,其中我有一个类,它有不同的方法来修改客户端发送的字符串,并根据他想要的刺痛类型将其返回。因此,根据字符串类型要求,调用一个方法..
像
class Test{
public static String a(String z)
{
// do stuff and return;
}
public static String b(String z)
{
// do stuff and return;
}
}
所以如果一个类似10000个请求的数组来了,这些方法被调用10000次,我想知道这些方法应该被视为静态还是非(我应该在我的主Web服务类中创建这个类的全局对象)并称这些方法)?
答案 0 :(得分:2)
我认为您不需要将方法设置为静态,如果您可以访问对象中的方法,那么您应该(尽可能避免静态)。这样可以提高代码性能(就内存利用率而言)。< / p>
答案 1 :(得分:2)
这些方法是静态的,有什么令人信服的理由?如果您需要静态方法,那么创建它们。否则,从设计的角度来看,坚持使用非静态方法。你不能覆盖静态方法(虽然你可以隐藏它们。)
就是这样:
In Java, is there any disadvantage to static methods on a class?
答案 2 :(得分:1)
如果方法对所有情况都相同,则可以使用静态方法。如果方法只是对作为参数提供的字符串进行了一些处理,并且所有实例的行为都相同,那么就可以。
同样,你也可以用它制作一个单身人士。通过UNIQUE_INSTANCE调用方法。
类似的东西:
public class Test {
private static final Test UNIQUE_INSTANCE = new Test();
private Test() {
}
public static final Test getUniqueInstance() {
return UNIQUE_INSTANCE;
}
public final String a(String z) {
// do stuff and return;
}
public final String b(String z) {
// do stuff and return;
}
}
然后你可以做&gt;&gt;
Test.getUniqueInstance().a("Hello");
Test.getUniqueInstance().b("World");
答案 3 :(得分:0)
如果没有任何资源在线程之间共享,那么使用任何静态方法都没有坏处。
答案 4 :(得分:0)
是的,应该有一个静态修饰符,因为不同的方法或函数之间没有交互,结果以相同的方法返回。 “静态”一词是定义一个类变量或方法,可以在不实例化这种类的对象的情况下访问它。
如果你不打算实例化类,只需要使用里面的方法,“静态”是正确的方法,并将类构造函数设置为私有。