Јава статички метод, променљива и блок са примером

Преглед садржаја:

Anonim

Статички може бити:

  1. Статичке променљиве
  2. Статичке методе
  3. Статични блокови кода.

Погледајмо прво статичке променљиве и статичке методе.

Шта је статичка променљива у Јави?

Статичка променљива у Јави је променљива која припада класи и иницијализује се само једном на почетку извршења. То је променљива која припада класи, а не објекту (инстанци). Статичке променљиве се иницијализују само једном, на почетку извршења. Ове променљиве ће се прво иницијализовати, пре иницијализације било којих променљивих инстанце.

  • Једну копију коју ће делити све инстанце класе
  • Статичкој променљивој може се директно приступити именом класе и не треба јој објекат

Синтакса:

< class-name>. 

Шта је статички метод у Јави?

Статичка метода у Јави је метода која припада класи, а не објекту. Статички метод може приступити само статичким подацима. То је метода која припада класи, а не објекту (инстанци). Статички метод може приступити само статичким подацима. Не може приступити не-статичким подацима (променљиве инстанце).

  • Статичка метода може позивати само друге статичке методе и из ње не може позвати не-статичку методу.
  • Статичкој методи се може директно приступити именом класе и није јој потребан ниједан објекат
  • Статички метод се ионако не може позивати на „ову“ или „супер“ кључну реч

Синтакса:

< class-name>. 

Напомена: главни метод је статичан, јер мора бити доступан да би се апликација могла покренути, пре него што се деси инстанцирање.

Научимо нијансе статичних кључних речи радећи неке вежбе!

Пример: Како позвати статичке променљиве и методе

Корак 1) Копирајте следећи код у едитор

публиц цласс Демо {публиц статиц воид маин (Стринг аргс []) {Студент с1 = нови студент ();с1.сховДата ();Студент с2 = нови студент ();с2.сховДата ();//Студент.б++;//с1.сховДата ();}}цласс Студент {инт а; // иницијализовано на нулустатички инт б; // иницијализује се на нулу само када се учита класа не за сваки створени објекат.Ученик(){// Конструктор који увећава статичку променљиву бб ++;}публиц воид сховДата () {Систем.оут.принтлн ("Вредност а =" + а);Систем.оут.принтлн ("Вредност б =" + б);}// јавни статички прираштај празнине () {// а ++;//}}

Корак 2) Сачувајте и компајлирајте код. Покрените код као, јава Демо .
Корак 3) Очекивани излаз приказан је испод


Следећи дијаграм показује како се стварају референтне променљиве и објекти и како статичким променљивим приступају различите инстанце.


Корак 4) Могуће је приступити статичкој променљивој изван класе користећи синтаксу ЦлассНаме.Вариабле_Наме . Унцоммент лине # 7 & 8. Снимите, компајлирајте и покрените. Посматрајте излаз.

Value of a = 0Value of b = 1Value of a = 0Value of b = 2Value of a = 0Value of b = 3
Корак 5) Унцоммент лине 25,26 & 27. Снимите, компајлирајте и покрените.
error: non-static variable a cannot be referenced from a static context a++;

Корак 6) Грешка =? То је зато што није могуће приступити варијабли инстанце „ а “ из јава статичке методе класе „ инкремент “.

Шта је статички блок у Јави?

Статички блок је блок изјава у Јава класе који ће бити извршен када класа прво учита у ЈВМ. Статички блок помаже да покренете статичке чланове података , као и конструктори помоћ да покрене чланова инстанце.

class Test{static {//Code goes here}}

Следећи програм је пример јава статичког блока.

Пример: Како приступити статичком блоку

публиц цласс Демо {статиц инт а;статички инт б;статиц {а = 10;б = 20;}публиц статиц воид маин (Стринг аргс []) {Систем.оут.принтлн ("Вредност а =" + а);Систем.оут.принтлн ("Вредност б =" + б);}}

добићете следећи излаз програма.

Value of a = 10Value of b = 20