Obiekt klasy, a zmienna klasy

0

Witam, mam takie pytanie czym róźni się zmienna klasy od obiektu klasy. Tyle wiem, że po słowie new mogę się odwoływać do metod, to po co robić zmienną klasy. Mógłby mi ktoś wytłumaczyć ?

Point p = new Point();
 Point p;
0
Point p;

Tutaj powiedziałeś komputerowi, żeby przygotował ci pudełko, w którym w przyszłości być może znajdzie się jakiś obiekt typu Point.

Point p = new Point();

Za to tutaj poprosiłeś o przygotowanie pudełka i od razu wrzuciłeś do niego nowy obiekt typu Point. Nie jest to żadna zmienna klasy. Jest to referencja (pudełko), która w przyszłości może wskazywać na konkretny obiekt klasy Point.

Do obiektów zawsze odnosisz się przez referencje. Dzięki temu, że referencja p wskazuje na nowo stworzony obiekt Point, możesz zawołać na niej metodę, np,

p.getCoordinates();
1
Uczę się programować napisał(a):

Witam, mam takie pytanie czym róźni się zmienna klasy od obiektu klasy. Tyle wiem, że po słowie new mogę się odwoływać do metod, to po co robić zmienną klasy. Mógłby mi ktoś wytłumaczyć ?

Point p = new Point();
 Point p;

Powiedźmy, że zmienna typu klasy jest nazywana obiektem, jeśli jest do niej przypisany jakiś obiekt.

Generalnie w linijce Point p; deklarujesz, że zmienna typu p jest typu Point, a w linijce Point p = new Point(); określasz, że zmienna typu p przyjmuje obiekt (new Point(), ten obiekt został w tym momencie stworzony, a ty zmienna p na niego pokazujesz paluszkiem)

1 użytkowników online, w tym zalogowanych: 0, gości: 1