logo

Metoda statică vs metoda instanței în Java

În Java, metodele definesc comportamentul claselor și obiectelor. Înțelegerea diferenței dintre metodele statice și metodele de instanță este esențială pentru scrierea unui cod curat și eficient.

Ce este o metodă statică?

O metoda statica aparține clasei mai degrabă decât oricărui obiect specific.

  • Poate fi apelat fără a crea o instanță a clasei.
  • Deoarece metodele statice sunt specifice oricărui obiect, acestea pot accesa numai membri statici (date și metode) și nu pot accesa membrii nestatici.
Java
import java.io.*; class Geeks {  // static method  public static void greet() {  System.out.println('Hello Geek!');  }  public static void main(String[] args) {  // calling the method directily  greet();  // using the class name  Geeks.greet();  } } 

Ieșire
Hello Geek! Hello Geek! 

Explicaţie: Exemplul de mai sus arată o metodă statică greet() în cadrul clasei Geeks. Metodele statice pot fi apelate fără a crea un obiect. În metoda principală, nu creăm un obiect al clasei Geek, apelăm metoda direct după numele clasei care este Geeks și apoi tipărim rezultatul.



Ce este o metodă de instanță?

Un Metoda de instanță aparține unui obiect.

  • Trebuie să creați o instanță a clasei de apelat.
  • Poate accesa variabile de instanță și alte metode de instanță și membri statici ai clasei.
  • Au acces la thisreferinţă care indică obiectul curent.
Java
import java.io.*; class Test {  String n = '';  // Instance method   public void test(String n) {   this.n = n;   } } class Geeks {  public static void main(String[] args) {  // create an instance of the class  Test t = new Test();  // calling an instance method in the class 'Geeks'  t.test('GeeksforGeeks');  System.out.println(t.n);  } } 

Ieșire
GeeksforGeeks 

Explicaţie: Exemplul de mai sus arată cum să utilizați o metodă de instanță în Java. Creăm un obiect din clasa Test și apelăm metoda de testare pentru a seta o valoare și apoi tipărim rezultatul.

arahide vs arahide

Diferența dintre metoda statică și metoda instanței

Următorul tabel listează  diferențe majore între metodele statice și metodele de instanță în Java.

Caracteristici

Metoda statica

Metoda de instanță

șir în metodele java

Definiţie

Creat folosind cuvântul cheie static și preluat fără a crea un obiect.

Necesită invocarea unui obiect din clasa sa.

Acces

Accesați numai variabile și metode statice.

Poate accesa atât membri statici, cât și membri de instanță.

round matematică java

this cuvânt cheie

Nu se poate folosi acest cuvânt cheie în cadrul metodelor statice.

Poate folosi cuvântul cheie this pentru a face referire la obiectul curent.

comisie de selecție a personalului sens

Suprascriere

Nu acceptă polimorfismul runtime

Suportă polimorfismul de rulare

încercați catch catch java

Alocarea memoriei

Încărcat o dată pe clasă

Fiecare obiect are propria sa copie


Creați un test