Зачем использовать newInstance () вместо ключевого слова new в koltin для создания xmlPullParserFactory? - PullRequest
0 голосов
/ 27 июня 2019

Почему я должен использовать newInstance () вместо нового ключевого слова для создания XmlPullParserFactory и, кстати, зачем создавать XmlPullParserFactory, я знаю, что шаблон фабрики используется, когда у вас есть несколько подклассов для создания, и вы не знаете, какой из них до времени выполнения, поэтому мы используем класс фабрики для работы с ним

val factory = XmlPullParserFactory.newInstance()
factory.isNamespaceAware = true
val xpp = factory.newPullParser()

1 Ответ

0 голосов
/ 27 июня 2019

Это дизайнерское решение. Глядя на реализацию XMLPullParserFactory , на самом деле это сейчас не имеет значения, но если в какой-то момент реализация изменится, ваш код может перестать работать и иметь странные побочные эффекты.

Поскольку конструктор защищен, вы все равно не сможете использовать новое ключевое слово.

Надеюсь, это прояснит ситуацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...