Izpitno vprašanje DIRI2005 1100

Iz MaFiRaWiki

Vprašanje

Razlika med objektnimi in statičnimi metodami.

Odgovor

Statične metode v Javi niso vezane na noben objekt, odvisne so le od globalnih spremenljivk in navedenih parametrov.

Statične metode izven razreda kličemo kot razred.metoda(parametri)


Objektne metode v Javi so definirane znotraj razreda in se kličejo skupaj z objektom, ki je predstavnik tega razreda. Vezane so torej strogo na posamezen objekt. Do posameznih komponent objekta dostopamo s pomočjo this.


Primer

public class Foo {

   static int x = 12;                         //globalna spremenljivka
   int y;                                     
   int m;                                     
   public Foo(int z) {                        //konstruktor
      this.y = z;
      this.m = Math.sin(x);                   //klic statične metode IZVEN razreda
   }
   static int f(int a) {                      //STATIČNA METODA
   return x + a;                              //ima dostop do komponente x
   }                                          //nima dostopa do komponente y, ker ne moremo napisati this.y
   int g(int a) {                             //OBJEKTNA METODA
   return this.y + x + a;                     //tu lahko dostopamo do y z this.y, ker je this objekt, nad katerim je 
   }                                          //metoda g klicana

}

Osebna orodja