Да си припомним: какво са класовете и обектите?


Инициализация по време на декларация



страница47/84
Дата03.01.2022
Размер0.54 Mb.
#112941
ТипПрограма
1   ...   43   44   45   46   47   48   49   50   ...   84
Класове
Свързани:
Изпитна тема1, Изпитна тема2
Инициализация по време на декларация

Ако по време на декларация на статичното поле, сме задали стойност за инициализация, тя се присвоява на съответното статично поле. Тази инициализация се изпълнява само веднъж – при първото достъпване на полето, веднага след като приключи присвояването на стойността по подразбира­не. При последващо достъпване на полето, тази инициали­зация на статичното поле няма да се изпълни.

В горния пример можем да добавим инициализация на статичното поле:

// Static variable - declaration and initialization

static int dogCount = 0;



Тази инициализация ще се извърши при първото обръщение към статич­ното поле. Когато се опитаме да достъпим някое статично поле на класа, ще се задели памет за него и то ще се инициализира със стойностите по подразбиране. След това, ако полето има инициализация по време на декларацията си (както е в нашия случай с полето dogCount), тази иници­ализация ще се извърши. В последствие обаче, когато се опитваме да достъпим полето от други части на програмата ни, този процес няма да се повтори, тъй като статичното поле вече съществува и е инициализирано.



Сподели с приятели:
1   ...   43   44   45   46   47   48   49   50   ...   84




©obuch.info 2024
отнасят до администрацията

    Начална страница