有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否使用静态方法?

嗨,我有一个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服务类中创建这个类的全局对象并调用这些方法)


共 (5) 个答案

  1. # 1 楼答案

    如果线程之间没有共享的任何资源,那么使用任何静态方法都没有坏处

  2. # 2 楼答案

    是的,应该有一个静态修饰符,因为不同的方法或函数之间没有交互,结果在同一个方法中返回。“Static”一词是定义一个类变量或方法,可以在不实例化此类对象的情况下访问该类变量或方法

    如果您不打算实例化该类,只需要使用其中的方法,“Static”是正确的方法,并将类构造函数设置为private

  3. # 4 楼答案

    如果静态方法在所有情况下的行为相同,则可以使用该方法。如果这些方法只是对作为参数提供的字符串执行一些操作,并且所有实例的行为都相同,那么您可以

    同样,你也可以用它来做一个单身汉&;通过UNIQUE_实例调用这些方法

    比如:

    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;
        }
    }
    

    然后您可以执行>&燃气轮机

    Test.getUniqueInstance().a("Hello");
    Test.getUniqueInstance().b("World");
    
  4. # 5 楼答案

    我认为不需要将方法设置为静态,如果可以在对象中访问该方法,那么应该(尽可能避免静态)。这将提高代码性能(在内存利用率方面)