Instanz?

Status
Nicht offen für weitere Antworten.

Brain

Aktives Mitglied
Hallo!!!
Habe eine Frage: Was wird mit der zweiten Zeile bewirkt?
Code:
URL url = new URL(args[0]);
AudioClip clip = Applet.newAudioClip(url);
Ist das auch eine Insanz??

Kleines Besipiel:
Mit
Code:
Asdf obj = new Asdf();

wird ja eine Instanz, ein Objekt, erstellt.
Was passiert im ersten Code-Abschnitt??

Könnte ich auch "AudioClip clip = new AudioClip();" schreiben? Wenn ja, wie müsste ich dann weiterschreiben um das selbe Ergebnis zu bekommen?
 

Campino

Top Contributor
Letztendlich ja. Allerdings wird die neue Instanz hier in einer Methode erstellt und von ihr zurückgegeben, nicht von einem Konstruktor...
 

Leroy42

Top Contributor
Code:
AudioClip clip = Applet.newAudioClip(url);

Die statische (Klassen-) Methode newAudioClip der Klasse Applet
erzeugt eine Instanz der Klasse AudioClip dessen Daten
an der angegebenen URL zu finden sind. Die Buchstabensequenz "new"
in der Methode hat nichts mit dem Schlüsselwort "new " zu tun. :noe:

Die Methode könnte genausogut machUndGibMirMalNenAudioClip heißen.
Intern wird allerdings irgendwann einmal ein Konstruktor der Klasse
AudioClip mit "new AudioClip(.....)" aufgerufen, da die Instanz ja erzeugt
werden muß.

Du kannst
Code:
AudioClip clip = new AudioClip();
schreiben, wenn es einen parameterlosen, öffentlichen Konstruktor
der Klasse AudioClip gibt. Ob dem so ist weiß ich nicht (und ich
bin zu faul jetzt in der API nachzuschauen).

Ob und wie du die Audio-Datenreferenz einer Instanz von
AudioClip nach dessen Erzeugung ändern kannst, erfährst am besten
in der API
 
B

Beni

Gast
"Applet.newAudioClip( url )" ruft eine statische Methode namens "newAudioClip", welche als Argument eine URL erwartet, in der Klasse "Applet" auf.

Das hat nichts mit dem normalen "new" zu tun, es ist einfach ein ganz normaler ein Methodenaufruf, wie z.B. "Math.sqrt( 9.0 )".
 

Brain

Aktives Mitglied
Das "new" bei "AudioClip clip = Applet.newAudioClip(url);" verwirrt mich eigentlich nicht.

Was ich nicht genau verstehe, was der Ausdruck bewirkt. Ich weiß schon, dass es eine Methode ist, die eine URL braucht und die Methode in der Klasse Applet ist.

Was mich irritiert ist, dass links vom Gleichheitszeichen "AudioClip" und nach ihm "Applet" steht.

Wird durch den Ausdruck eine Instanz gebildet? Ein Objekt erstellt oder ist das irgendeine Verknüpfung?
 

Leroy42

Top Contributor
Die Klasse Applet stellt eine Methode zur Verfügung, die eine
Instanz der Klasse AudioClip erzeugt und liefert.

Diese Methode wird aufgerufen. Ihr Ergebnis -- eine Referenz auf
die neu erzeugte Instanz der Klasse AudioClip -- wird danach
der lokalen Variablen clip zugewiesen die ja auch vom Typ AudioClip ist.

Daß in (oder durch) die Methode tatsächlich eine neue Instanz
eines AudioClips erzeugt wird ist anhand dieser Code-Zeilen noch
nicht erkennbat. Es könnte theoretisch ein bereits existierendes
Objekt geliefert werden.

Nur der Name newAudioClip legt die Vermutung nahe,
daß ein neues Objekt erzeugt wird.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
EinNickname9 Best Practice Singleton und Singleton mit Instanz zu anderer Klasse -Pattern Allgemeine Java-Themen 30
J Verständnis Frage zur Instanz, Objekte, Instanzierung, Referenz Allgemeine Java-Themen 14
Thallius HTTPS Request mit unbekannter Instanz Allgemeine Java-Themen 24
S Speicherverwaltung bei Instanz- und Klassenvariablen JS vs. Java Allgemeine Java-Themen 2
T MEthodenauruf testen, wenn instanz erst erzeugt wird Allgemeine Java-Themen 0
OnDemand InetAddress Instanz Allgemeine Java-Themen 4
T Klassen Instanz einer Klasse ausserhalb des Jar Allgemeine Java-Themen 2
J Ist eine Instanz von einem bestimmten Object Typ? Allgemeine Java-Themen 6
B JavaFX fxml, die selbe Instanz der Klasse Allgemeine Java-Themen 4
E Auf Java-Objekt aus anderer Instanz zugreifen Allgemeine Java-Themen 26
DStrohma In abstrakter Klasse Konstruktor von Instanz implementieren Allgemeine Java-Themen 11
S OOP Objekte als Return-Werte: Einen Klon zurückgeben oder Instanz auf das Feld? Allgemeine Java-Themen 10
V Serialisierung von Instanz eigener Klasse Allgemeine Java-Themen 5
S Singleton Instanz löschen Allgemeine Java-Themen 5
Kr0e Reflection - Instanz einer Klasse erstellen, ohne Default-Constructor Allgemeine Java-Themen 15
sambalmueslie Benachrichtigung bei neuer Objekt-Instanz Allgemeine Java-Themen 5
L Object Instanz anhand eines Strings Allgemeine Java-Themen 10
M Object-Instanz in Date übersetzen Allgemeine Java-Themen 6
M Neue Instanz/Kopie einer unbekannten Klasse Allgemeine Java-Themen 7
M Instanz "von außen" erstellen unterbinden Allgemeine Java-Themen 3
S Neue Instanz eines Objekts erzeugen - Konstruktor erhaelt Parameter. Allgemeine Java-Themen 5
V Reflection - Field-Instanz und Annotations Allgemeine Java-Themen 6
S Instanz in einer Klasse erstellen, und dem Konstruktor die eigene Klasse mitgeben Allgemeine Java-Themen 4
J Instanz-Felder einer Klasse initialisieren Allgemeine Java-Themen 6
N Variablen eines Objektes (instanz) in einen Array lesen Allgemeine Java-Themen 7
M Instanz von Datenbankklasse Allgemeine Java-Themen 5
M Instanz erstellen Allgemeine Java-Themen 3
flashfactor Prüfen ob bereits eine Instanz gestartet ist Allgemeine Java-Themen 2
A Nur eine Instanz eines Programms ausführen Allgemeine Java-Themen 3
T Instanz einer Interface abgeleiteten Klasse erzeugen Allgemeine Java-Themen 3
I size einer instanz Allgemeine Java-Themen 9
minzel Instanz auslesen? Allgemeine Java-Themen 22
G überpüfen ob bereits instanz von java applikation läuft Allgemeine Java-Themen 4
H Vererbung auch ohne erzeugung einer Instanz möglich? Allgemeine Java-Themen 3
B nur eine Instanz eines Programms laufen lassen Allgemeine Java-Themen 8
G Nur eine Instanz einer Applikation Allgemeine Java-Themen 4
G Instanz IDs Allgemeine Java-Themen 13
P Nur eine Instanz eines Programms zulassen, wie geht das? Allgemeine Java-Themen 15
J Instanz einer inneren Klasse Allgemeine Java-Themen 9
H Methode einer zur Laufzeit generierten Instanz aufrufen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben