Java >> Java tutorial >  >> Tag >> class

Java statisk metode | Klasse, grænseflade, opkald Eksempel

En statisk Java-metode tilhører klassen og ikke til objektet (instansen). Du skal bruge Static Keyword for at oprette statiske metoder i Java. En statisk metode kan kun få adgang til statiske data.

Punkter at huske om den statiske metode i java:-

  • En statisk metode tilhører klassen snarere end en forekomst af en klasse.
  • En statisk metode, der påberåbes uden klassens objekt.
  • Den statiske metode kan få adgang til statiske datamedlemmer.
  • Den kan tilgås blot ved at bruge navnet på en klasse prik statisk navn:-Employee.salary();
  • Den kan ikke kalde en ikke-statisk metode fra den.
  • Det kan ikke henvise til "dette" eller "super" søgeord på nogen måde.

Eksempel på Java statisk metode

En statisk metode kan tilgås ved at bruge klassenavnet efterfulgt af en prik og navnet på metoden.

ClassName.methodName

Kode:- Vi har en klasse "Sprog ” og statisk tomrum “visning ” metode. Tomrummet bruges til ingen returværdi fra en metode. En display() kalder fra hovedmetoden uden instans. I det næste eksempel vil du se, hvordan du kalder en statisk metode fra klassen.

class Languages
{
    public static void main(String[] args)
    {
        display();
    }

    static void display()
    {
        System.out.println("Java programming language.");
    }
}

Output: Java programmeringssprog.

Java statisk metode i interface

Måske tænker du, om det er muligt, at grænsefladen har en statisk metode eller ej? Så her er svaret - du kan bruge en statisk metode i Java-grænsefladen.

Det samme som at bruge et statisk nøgleord i enhver klasse, skal du gøre det i grænsefladen. Som du ved har Java Interface ikke en metodedefinition (bemærk:som af alle versioner nedenfor Java 8). Og det kan tilsidesætte i implementeringsklassen.

Men statiske metoder indeholder den komplette definition af funktionen, og da definitionen er komplet, og metoden er statisk, kan disse metoder derfor ikke tilsidesættes eller ændres i implementeringsklassen.

interface ABInterface { 
  
    static void hello() 
    { 
        System.out.println("Static Method Here"); 
    } 
  
    void overrideMethod(String str); 
} 
  
// Implementation Class 
public class InterfaceTest implements ABInterface { 
  
    public static void main(String[] args) 
    { 
        InterfaceDemo interfaceDemo = new InterfaceDemo(); 
  
        NewInterface.hello(); 
   
        interfaceDemo.overrideMethod(Override Method here"); 
    } 
  
    @Override
    public void overrideMethod(String str) 
    { 
        System.out.println(str); 
    } 
} 

Output: Statisk metode her
Tilsidesæt metode her

Sp:Hvad er konventionen for navngivning af statiske funktioner i Java?

Svar: Java-metoder bør navngives ved hjælp af kamelhylstre og starte med et lille bogstav. Og dette er det samme for statiske eller ikke-statiske metoder.

For at navngive en statisk funktion, følg .

Java statiske metode navngivningskonventioner guidelines links:-

  • Google-stilguide:https://google.github.io/styleguide/javaguide.html#s6.3-static-members
  • Oracle:https://www.oracle.com/technetwork/java/codeconventions-135099.html

Sp:Hvornår skal man bruge statiske metoder?

Svar: Tænk først over metoden, hvad er kravene til den. Giver denne metode så mening, hvis den kaldes uden et objekt? Hvis det er tilfældet, bør det bestemt være en statisk metode.

  • Vigtig og grundlæggende brug af det til at få adgang til statiske felter i klassen.
  • Eller en kode, der skulle deles på tværs af alle forekomster af den samme klasse, og derefter indsætte den del af koden i en statisk metode.

Sp:Sådan kalder du en statisk metode i java ?

Svar:Kald en statisk metode ved hjælp af klassenavn efterfulgt af en prik og navnet på metoden ClassName.method . For et eksempel på matematiktimer:-

MathUtils.add(50L, 20L);
MathUtils.addInts(1, 2, 3);

Komplet eksempel:- Hvordan man kalder den statiske metode fra en anden klasse. I dette eksempel kalder Eksempelklassen en elevklassemetode "showData “.

public class Example {

    public static void main(String args[]) {
        Student.showData();

    }
}

class Student {

    public static void showData() {
        System.out.println("Student data from student class");
    }

}

Output: Elevdata fra elevklasse

Skriv en kommentar, hvis du er i tvivl og forslag til denne øvelse.

Bemærk: Dette eksempel (Projekt) er udviklet i IntelliJ IDEA 2018.2.6 (Community Edition)
JRE:11.0.1
JVM:OpenJDK 64-Bit Server VM af JetBrains s.r.o
macOS 10.14.1
Java version 11
Alle Java statiske metodekald Eksempel er i Java 11, så det kan ændre sig på anderledes end Java 9 eller 10 eller opgraderede versioner.


Java tag