logo

Statische methode versus instantiemethode in Java

In Java definiëren methoden het gedrag van klassen en objecten. Het begrijpen van het verschil tussen statische methoden en instantiemethoden is essentieel voor het schrijven van schone en efficiënte code.

Wat is een statische methode?

A statische methode behoort tot de klasse en niet tot een specifiek object.

  • Kan worden aangeroepen zonder een instantie van de klasse te maken.
  • Omdat statische methoden elk objectspecifiek zijn, hebben ze alleen toegang tot statische leden (gegevens en methoden) en hebben ze geen toegang tot niet-statische leden.
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();  } } 

Uitvoer
Hello Geek! Hello Geek! 

Uitleg: Het bovenstaande voorbeeld toont een statische methode greet() binnen de klasse Geeks. statische methoden kunnen worden aangeroepen zonder een object te maken. In de hoofdmethode maken we geen object van de Geek-klasse, we roepen de methode rechtstreeks aan met de klassenaam, namelijk Geeks, en vervolgens drukken we de uitvoer af.



Wat is een instancemethode?

Een Instantiemethode hoort bij een object.

  • Er moet een exemplaar worden gemaakt van de klasse die moet worden aangeroepen.
  • Heeft toegang tot instantievariabelen, andere instantiemethoden en statische leden van de klasse.
  • Toegang hebben tot thisreferentie die naar het huidige object verwijst.
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);  } } 

Uitvoer
GeeksforGeeks 

Uitleg: Het bovenstaande voorbeeld laat zien hoe u een instantiemethode in Java gebruikt. We maken een object van de klasse Test en roepen de testmethode aan om een ​​waarde in te stellen, waarna we de uitvoer afdrukken.

Verschil tussen statische methode en instantiemethode

De volgende tabel bevat de  grote verschillen tussen de statische methoden en de instantiemethoden in Java.

Functies

Statische methode

software testen

Instantiemethode

Definitie

Gemaakt met behulp van het statische trefwoord en opgehaald zonder een object te maken.

Vereist dat een object van zijn klasse wordt aangeroepen.

Toegang

java kern java

Alleen toegang tot statische variabelen en methoden.

Heeft toegang tot zowel statische als instantieleden.

this trefwoord

Kan de dit trefwoord binnen statische methoden.

Kan het trefwoord this gebruiken om naar het huidige object te verwijzen.

Overschrijven

computer uitgevonden welk jaar

Ondersteunt geen runtime-polymorfisme

Ondersteunt runtime-polymorfisme

Geheugentoewijzing

Eén keer per les geladen

Elk object heeft zijn eigen exemplaar


Quiz maken