24 Stimmen

Wann ist der richtige Zeitpunkt für die Verwendung des Schlüsselworts "neu"?

Wann ist es notwendig, die new Schlüsselwort in Java. Ich weiß, dass Sie es verwenden sollten, wenn Sie eine Instanz eines Objekts wie dieses erstellen:

TextView textView = new TextView(this);

Manchmal stelle ich im Code fest, dass new wird nicht verwendet und ich bin verwirrt In dieser Zeile des Codes:

    AssetManager assetManager = getAssets();

Warum wird nicht eine Instanz des AssetManagers wie diese erstellt?

AssetManager assetManager = new AssetManager();

dann wird es gleich getAssests() gesetzt?

Wann sollte new verwendet werden?

Danke!

3voto

czajah Punkte 419

new wird immer verwendet, um ein neues Objekt zu erstellen.

este

AssetManager assetManager = getAssets();

ist nur die Zuweisung eines Wertes, der von der Methode getAssets() zum Verweis assetManager .

[Bearbeiten]

Ich habe gelogen. new ist es möglich, so etwas zu tun:

Foo.class.newInstance();

und Sie können auch Reflexion verwenden:

Foo.class.getDeclaredConstructors(Class[] parameterTypes).newInstance(arguments);

2voto

Argyle Punkte 3294

Da Sie dies mit [Android] gekennzeichnet haben, vermute ich, dass Ihr Code innerhalb einer Activity または Service . In diesem Fall, getAssets() ist eine Methode der Klasse, die Sie erweitern. Sie erstellen sie also nicht wirklich, sondern bitten den vorhandenen Code, Ihnen einen Verweis auf etwas bereits Vorhandenes zu geben.

0voto

keyser Punkte 18349

Beachten Sie den Großbuchstaben in TextView, und das Fehlen davon in getAssets. getAssets ist keine Klasse wie TextView, es ist eine Methode, die ein Objekt zurückgibt. Und wie viele andere bereits erwähnt haben, existiert Ihr Asset bereits.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X