Ich stieß auf diese Klasse, als ich ein Projekt durchging, an dem mein Senior arbeitete. Ich versuche zu verstehen, ob dieser Code richtig funktioniert, da dies ein wenig fischig erscheint.Instanz eines Objekts global erstellen (außerhalb des Konstruktors oder einer beliebigen Methode)
Hier wird das Klassenobjekt DataStore
bei global
Ebene instanziiert, ich bin mir nicht sicher, wie das funktioniert? Ich verstehe, dass dies eine Singleton-Klasse ist, aber wann wird solch ein global
Objekt erstellt werden? Ist garantiert, dass mContext
, die an DataStore
übergeben wird, immer nicht null ist?
Danke !!
Sie sollten den Code hinzufügen, der zeigt, wie und wann mContext ebenfalls gesetzt ist. – nutfox
wird die Variable 'dataStore' erzeugt und das Objekt' neuer DataStore (mContext, "DATA"); 'wird jedes Mal instanziert, wenn eine neue Instanz von' DataFetcher' vor dem privaten Konstruktor erzeugt wird (was nur einmal offensichtlich ist) 'DataFetcher()' wird aufgerufen. –
@TimothyTruckle das bedeutet, dass neuer DataStore (mContext, "DATA") nur aufgerufen wird, wenn mContext einen Wert erhält? – varunkr