我有以下类(class):
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:抱歉,我的意思是非静态的,而不是私有(private)的 EDIT3:将标题修改为非静态(来自私有(private))
最佳答案
是的,由于以下原因,对 allInp 的访问将不会受到不必要的访问。
- 每次调用 callFromThirdPartyApp() 时都会创建 HideInput 的新实例。
- allInp 作为参数传递给 workWithInput()。
- allInp 是一个 String,它是一个不可变的类。
allInp 不仅可以安全地防止无意中共享 HideInput,而且由于 #2 和 #3 的原因,它也是线程安全的。
关于java - 在 Java 中生成非静态类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15298474/