Дополнительные сведения:
Первое: если предполагается, что объекты H существуют без собственного экземпляра C, то значение H должно быть static
.Вы могли бы даже хотеть сделать это частным.
Затем, имейте в виду: у вас здесь есть внутренний класс, поэтому полное имя H на самом деле что-то вроде what.package.com.CH .Другими словами: вы действительно привязали H к C.
Что если в какой-то момент вы решите, что у H достаточно других аспектов, которые делают его достойным быть "своим"?Тогда вам, возможно, придется прикоснуться к еще одному коду, чтобы превратить ваш what.package.com.CH в what.package.com.H .
Таким образом, вы может рассмотреть возможность сделать H классом верхнего уровня, но не сделать его общедоступным.Таким образом, вы сохраняете его в C.java, но не как внутренний класс!
(но, конечно, это действительно зависит от "стиля", я думаю, что стандарт кодирования java Google говорит, что вы должны иметь только один класс верхнего уровня на файл .java)
Заключительные слова: если есть способ превратить ваш класс H в нечто, что может использоваться в других местах, то я быидите вперед и сразу сделайте его публичным классом.Если повторное использование кажется разумным, напишите свой код, чтобы его можно было легко использовать повторно!И трёхзначный кортеж не звучит так, как будто он очень специфичен для чего-либо, поэтому он звучит как кандидат для повторного использования.