It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center。
7年前关闭。
我有以下课程:
我想实现的是,每当调用
挑战在于
EDIT1:缩进
EDIT2:对不起,我的意思是非静态的,而不是私有的
EDIT3:标题更改为非静态(来自私有)
7年前关闭。
我有以下课程:
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:标题更改为非静态(来自私有)
最佳答案
是的,由于以下原因,访问allInp可以避免不必要的访问。
在callFromThirdPartyApp()的每次调用中都将创建HideInput的新实例。
将allInp作为参数传递给workWithInput()。
allInp是一个字符串,它是一个不可变的类。
allInp不仅可以防止HideInput的意外共享,而且由于#2和#3也可以确保线程安全。
关于java - Java中非静态类的生成实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15298474/
10-08 22:34