У вас есть два вопроса: когда я должен позвонить в getInstance()метод, и когда я должен создать один?
Если вы решаете, вызывать ли getInstance()метод, это просто. Вам просто нужно прочитать документацию по классу, чтобы узнать, когда его следует вызывать. Например, NumberFormatпредоставляет конструктор и на getInstance()метод; getInstance()метод даст вам локализованы NumberFormat. С Calendarдругой стороны, конструктор защищен. Вы должны позвонить, getInstance()чтобы получить его.
Если вы решаете, создавать ли getInstance()метод, вам нужно решить, чего вы пытаетесь достичь. Либо вы не хотите, чтобы люди вызывали ваш конструктор (вы создаете синглтон или фабрику ), либо вы не возражаете (как NumberFormatуказано выше, где они инициализируют некоторые объекты для удобства вызывающего).
Короче говоря? Не беспокойтесь о создании getInstance()методов в вашем собственном коде. Если наступит время, когда они будут полезны, ты узнаешь. И вообще, если вы можете вызвать конструктор класса, вы, вероятно, должны это делать, даже если класс предоставляет getInstance()метод.