logo

Statická metoda vs metoda instance v Javě

V Java metody definují chování tříd a objektů. Pochopení rozdílu mezi statickými metodami a metodami instance je zásadní pro psaní čistého a efektivního kódu.

řetězec na celé číslo v jazyce Java

Co je to statická metoda?

A statická metoda patří spíše do třídy než ke konkrétnímu objektu.

  • Lze volat bez vytvoření instance třídy.
  • Protože statické metody jsou specifické pro jakýkoli objekt, mají přístup pouze ke statickým členům (datům a metodám) a nemají přístup k nestatickým členům.
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();  } } 

Výstup
Hello Geek! Hello Geek! 

Vysvětlení: Výše uvedený příklad ukazuje statickou metodu greet() uvnitř třídy Geeks, statické metody lze volat bez vytvoření objektu. V hlavní metodě nevytváříme objekt třídy Geek, voláme metodu přímo jménem třídy, což je Geeks a poté tiskneme výstup.



Co je to metoda instance?

An Instanční metoda patří k objektu.

  • Je třeba vytvořit instanci třídy, kterou chcete volat.
  • Může přistupovat k proměnným instance, jiným metodám instance a statickým členům třídy.
  • Mít přístup k thisodkaz který ukazuje na aktuální objekt.
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);  } } 

Výstup
GeeksforGeeks 

Vysvětlení: Výše uvedený příklad ukazuje, jak používat metodu instance v Javě. Vytváříme objekt třídy Test a voláme metodu test pro nastavení hodnoty a poté tiskneme výstup.

Rozdíl mezi statickou metodou a metodou instance

Následující tabulka uvádí  hlavní rozdíly mezi statickými metodami a metodami instance v Javě.

Vlastnosti

Statická metoda

Instanční metoda

Definice

Vytvořeno pomocí klíčového slova static a načteno bez vytvoření objektu.

Vyžaduje vyvolání objektu své třídy.

Přístup

Přístup pouze ke statickým proměnným a metodám.

Má přístup ke statickým členům i členům instance.

this klíčové slovo

ahoj světe s javou

Nelze použít tento klíčové slovo v rámci statických metod.

Můžete použít klíčové slovo this k odkazování na aktuální objekt.

Přepsat

Nepodporuje běhový polymorfismus

Podporuje runtime polymorfismus

Alokace paměti

lžička vs polévková lžíce

Načteno jednou za třídu

Každý objekt má svou vlastní kopii


Vytvořit kvíz