Nauczyłem się C # przez ostatnie sześć miesięcy i teraz zagłębiam się w Javę. Moje pytanie dotyczy tworzenia instancji (naprawdę w każdym języku), a więcej: zastanawiam się, dlaczego to zrobili w ten sposób. Weź ten przykład
Person Bob = new Person();
Czy istnieje przyczyna dwukrotnego określenia obiektu? Czy kiedykolwiek będzie something_else Bob = new Person()
?
Wydaje się, że gdybym postępował zgodnie z konwencją, byłoby to bardziej:
int XIsAnInt;
Person BobIsAPerson;
A może jeden z nich:
Person() Bob;
new Person Bob;
new Person() Bob;
Bob = new Person();
Myślę, że jestem ciekawy, czy istnieje lepsza odpowiedź niż „po prostu tak się to robi”.
Person Bob
deklaruje wywoływaną zmienną typu „referencja do Person
” Bob
. new Person()
tworzy Person
obiekt. Odnośniki, zmienne i obiekty to trzy różne rzeczy!
var bob = new Person();
?
Person Bob();
jest możliwe w C ++ i oznacza prawie to samo, coPerson Bob = Person();
LivingThing
? Mógłbyś pisaćLivingThing lt = new Person()
. Poszukaj dziedziczenia i interfejsów.