0

我有以下课程:

public class MyClass {

   public static void callFromThirdPartyApp(String allInput){
      HideInput hi = new HideInput();
      hi.workWithInput(allInput);
   }
}

public class HideInput {
   public void workWithInput{String allInp)

   work with allInp...
}

我想要实现的是,每当callFromThirdPartyApp调用该方法时,它都会接受输入,启动一个非静态类,将所有输入传递给该类并让它使用它。

挑战在于callFromThirdPartyApp可以同时调用。此代码是否会启动该类的不同实例,HideInput以确保该类allInp的其他实例无法触及?

EDIT1:缩进 EDIT2:对不起,我的意思是非静态的,而不是私有 EDIT3:将标题修改为非静态(来自私有)

4

1 回答 1

3

是的,由于以下原因,对 allInp 的访问将不会受到不必要的访问。

  1. 每次调用 callFromThirdPartyApp() 时都会创建 HideInput 的新实例。
  2. allInp 作为参数传递给 workWithInput()。
  3. allInp 是一个字符串,它是一个不可变的类。

allInp 不仅对 HideInput 的无意共享是安全的,而且由于#2 和#3 也是线程安全的。

于 2013-03-08T16:25:51.647 回答