- - Како се користи „Статиц“ у Јави

Како се користи „Статиц“ у Јави

Обично члану класе мора приступитиповезаност са објектом своје класе. Доћи ће тренуци када желите да дефинишете члана класе којем се може приступити без инстанцирања те класе. Ово се може постићи „статичким“. Да бисте створили таквог члана, пре његове декларације поставите кључну реч „статички“.

Предности статике

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

Зашто главни () проглашавамо статичким?

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

Због тога име програма мора бити исто као и име класе, где смо написали главну функцију.

Важне тачке које морате запамтити

  1. Променљиве инстанције деклариране као статичке су у основи глобалне променљиве. Када креирате објекте из његове класе, не прави се копија статичке променљиве. Чак и сви објекти имају исту статичку променљиву.
  2. статичке варијабле или функције члана учитават ће се током наставе. То значи да пре стварања било које инстанце (објеката), главна функција је прва функција коју је могуће покренути било који програм који покрећемо ручно.
  3. Ако желите да се изврши нешто / иницијализација статичких променљивих пре стварног учитавања класе, ставите све оне у статички блок.

На пример.

статички {

Систем.оут.принтлн ("Статички блок је иницијализиран ...");

}

Изводи се чак и пре маин () методе током учитавања класе.

Ограничења док користите Статиц

  1. статичка метода може приступити само статичким променљивим.
  2. статичка метода може позвати само статичку методу.
  3. статичка метода не може ни на који начин да се односи на ово и супер.

Програм

class Addition{
static int num1;
static int num2;
int a;
int b;
Addition(){
num1 = -1;
num2 = -1;
a = -1;
b = -1;
}
Addition(int num1,int num2,int a,int b){
this.num1 = num1;
this.num2 = num2;
this.a = a;
this.b = b;
}
static void sum(){
//System.out.println("Sum of 4 numbers is: "+(num1+num2+a+b)); /*static method can’t access static vars */
System.out.println("Sum of 'num1' and 'num2' is: "+(num1+num2));
System.out.println();
}
void add(){
System.out.println("Addition of 4 numbers is: "+(num1+num2+a+b));
System.out.println();
}
}
class AditionDemo1{
public static void main(String args[]){
System.out.println();
System.out.println("Static method sum() called without creating any object");
System.out.println("------------------------------------------------------");
Addition.sum();
Addition ad1 = new Addition();
System.out.println("Static Method sum() is invoked second time");
System.out.println("-----------------------------------------------");
Addition.sum();
System.out.println("Non-Static Method add() is invoked using Object ad1");
System.out.println("-----------------------------------------------");
ad1.add();
Addition ad2 = new Addition(10,20,30,40);
System.out.println("Static Method sum() is invoked second time");
System.out.println("-----------------------------------------------");
Addition.sum();
System.out.println("Non-Static Method add() is invoked using Object ad2");
System.out.println("-----------------------------------------------");
ad2.add();
System.out.println("Static Method sum() is invoked third time");
System.out.println("-----------------------------------------------");
Addition.sum();
System.out.println("Static Method sum() is invoked using Object");
System.out.println("-------------------------------------------");
ad1.sum();
ad2.sum();
}
}

Излаз

Статична јава

Објашњење Јава Цоде & Оутпута

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

У главном (), прво смо позвали статички метод сум () без креирања било којег објекта класе додавања.

У коду можете видети да статички метод не може приступити нестатичким променљивим. Ако покушате да приступите тада, добићете следећу грешку, као што смо добили:

Статична јава

Сад ако видите, статичке променљиве су само глобалне променљиве. Без обзира на објекте, он је дао исти резултат кад год било који објект позива статичку методу ().

Нестатичка метода може приступити статичким променљивим.

Нестатичка метода може позвати статичке методе.

Статичке методе могу се позвати и са <цласснаме>. <Статичким именом методе> и са <објецтнаме>. <Статички назив методе>.

За нестатичке варијабле, сваки ће објект имати различите копије нестатичких варијабли с различитим вриједностима за различите објекте.

Следеће ћемо сазнати о како се употребљава кључна реч "ова" на Јави.

Овде потражите корисније водиче и дефинитивне смернице о Јава програмирању.

Коментари