Ich habe C # in den letzten sechs Monaten oder so gelernt und beschäftige mich jetzt mit Java. Meine Frage bezieht sich auf die Instanzerstellung (in beiden Sprachen) und mehr auf: Ich frage mich, warum sie das so gemacht haben. Nehmen Sie dieses Beispiel
Person Bob = new Person();
Gibt es einen Grund, warum das Objekt zweimal angegeben wird? Würde es jemals eine geben something_else Bob = new Person()
?
Es würde scheinen, wenn ich mich an die Konvention halten würde, wäre es eher so:
int XIsAnInt;
Person BobIsAPerson;
Oder vielleicht einer von diesen:
Person() Bob;
new Person Bob;
new Person() Bob;
Bob = new Person();
Ich denke, ich bin neugierig, ob es eine bessere Antwort gibt als "so wird es gemacht".
Person Bob
deklariert eine Variable vom Typ "reference to Person
", die aufgerufen wird Bob
. new Person()
Erstellt ein Person
Objekt. Referenzen, Variablen und Objekte sind drei verschiedene Dinge!
var bob = new Person();
?
Person Bob();
ist in C ++ möglich und bedeutet fast dasselbe wiePerson Bob = Person();
LivingThing
? Du könntest schreibenLivingThing lt = new Person()
. Suchen Sie nach Vererbung und Schnittstellen.