Да бисмо разумели како класе, променљиве и методе функционишу у Јави, кључно је разумети појмове статичности и нестатичности. Нестатички чланови су повезани са одређеним инстанцама класе, док су статични чланови повезани са класом. У овом одељку ћемо контрастирати статичке и нестатичке Јава компоненте, наглашавајући њихове разлике и потенцијалне апликације.
Повезан са
статична: Статички чланови (променљиве и методе) су повезани са самом класом, а не са појединачним инстанцама.
Нестатично: Нестатички чланови су специфични за сваку инстанцу класе, јер су везани за објекте креиране из класе.
Пете Давидсон аге
Алокација меморије
статична: Статичким члановима се меморија додељује само једном, у време учитавања класе. Оне се деле међу свим инстанцама класе.
Нестатично: Нестатичким члановима је меморија додељена посебно за сваку инстанцу класе. Сваки објекат има своју копију нестатичких чланова.
Приступ
статична: Статичким члановима може се приступити директно коришћењем имена класе праћеног именом члана (нпр. ЦлассНаме.мемберНаме). Они су доступни са било ког места у оквиру програма.
Нестатично: Нестатичким члановима се приступа помоћу референце објекта иза које следи име члана (нпр. објецтРеференце.мемберНаме). Они су специфични за одређену инстанцу класе.
јава цомпаре
Иницијализација
статична: Статички чланови се иницијализују када се класа учита у меморију, обично током покретања програма. Иницијализација се дешава само једном.
Нестатично: Нестатички чланови се иницијализују када се креира свака инстанца класе, обично користећи нову кључну реч. Иницијализација се дешава посебно за сваки објекат.
Обим
статична: Статички чланови имају глобални опсег и могу им се приступити са било ког места у оквиру програма, чак и без креирања инстанце класе.
Нестатично: Нестатички чланови имају локални опсег и може им се приступити само преко инстанце класе. Они нису доступни без креирања објекта.
уклањање из листе низова
Приступ члановима
статична: Статички чланови могу приступити само другим статичким члановима унутар исте класе. Не могу директно да приступе нестатичним члановима.
Нестатично: Нестатички чланови могу приступити и статичким и нестатичким члановима унутар исте класе. Имају директан приступ свим члановима.
Употреба
статична: Статички чланови се обично користе за услужне методе, константе или променљиве које нису специфичне за појединачне инстанце. На пример, класа математике која садржи математичке функције.
римски бројеви 1100
Нестатично: Нестатички чланови се користе за понашање специфично за инстанцу, јер садрже податке специфичне за сваки објекат. На пример, променљиве инстанце које чувају јединствене вредности за сваки објекат.
Ефикасност меморије
статична: Статички чланови троше меморију само једном, без обзира на број креираних инстанци. Они могу бити ефикасни у меморији када се исти подаци морају делити са свим објектима.