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