Aliasausdrücke

Status
Nicht offen für weitere Antworten.

André Uhres

Top Contributor
Aliasausdrücke sind Ausdrücke, die sich wärend des Programmablaufs auf denselben Speicherplatz beziehen.
Sie werden auf eine Weise eingesetzt, die die Programmwartung erleichtert.
 

André Uhres

Top Contributor
Code:
methode(a);
...
void methode(List list){..}
"list" ist eine Aliasausdruck von a :wink:
 

erZ

Aktives Mitglied
Na ja als Parameter werden die schon bezeichnet doch gibt es einen Unterschied. Ein parameter welches ein Objekt ist, ist ja nichts anderes als eine Referenz. Und indem man dort methode(a) aufruft und dann List list erzeigt wird, ist a = list (weil selber speicherplatz(ort))

Also so versteh ich jedenfalls "alias"
 

André Uhres

Top Contributor
Aliasbeziehungen können durch verschiedene Situationen erzeugt werden,
darunter Parameterübergabe und Referenzvariablen.
Man sagt "a ist ein Alias von a1" (und umgedreht) wenn eine Aliasbeziehung zwischen a und a1 besteht.
 
G

Guest

Gast
André Uhres hat gesagt.:
Code:
methode(a);
...
void methode(List list){..}
"list" ist eine Aliasausdruck von a :wink:
Nein. list und a sind zwei verschiedene Variablen, die den gleichen Inhalt haben. Wenn Du jetzt den Inhalt von list änderst, wird sich der Inhalt von a nicht ändern. Also ist list kein Alias von a.

Fred
 

André Uhres

Top Contributor
Anonymous hat gesagt.:
..Wenn Du jetzt den Inhalt von list änderst, wird sich der Inhalt von a nicht ändern..
Doch:
Code:
package basics;
/*
 * AliasTest.java
 */
import java.util.*;
@SuppressWarnings("unchecked")
public class AliasTest {
    private List a = new ArrayList();
    public AliasTest() {
        methode(a);
        System.out.println("a: "+a);
    }
    private void methode(final List list){
        list.add("aha");
        System.out.println("list: "+list);
    }
    public static void main(final String[] args) {new AliasTest();}
}
Hier im Beispiel sind die beiden in der selben Klasse. Aber sie könnten sogar in getrennten Klassen sein
und es wären immer noch Aliasausdrücke!
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben