Для коллекции вспомогательных классов меньшего размера я создал общий class MyUtils
:
// MyUtils.java
public final class MyUtils
{
public static class Helper1 {};
public static class Helper2 {};
//...
}
Этот вспомогательный класс изнутри MyUtils
будет использоваться в других файлах пакета:
// MyClass1.java
public class MyClass1
{
private MyUtils.Helper1 help1 = new MyUtils.Helper1();
public void method ()
{
private MyUtils.Helper2 help2 = new MyUtils.Helper2();
}
}
Чтобы сделать их доступными, я сделал их static
внутри MyUtils
(который не имеет ни одного собственного элемента данных / функций). Мой код является потокобезопасным до создания MyUtils
.
Меня беспокоит то, что, сделав эти inner
классы static
, они останутся поточно-безопасными , когда их несколько экземпляров будут существовать в файлах? Или их какое-то плохое значение я пропустил из-за того, что заставил их static
?
Редактировать : Я не касаюсь ни одной общей переменной внутри классов helper
. Единственное, что меня беспокоило, это то, что экземпляр классов static
будет потокобезопасным (поскольку они static
).