Skillnaden mellan statisk och icke-statisk metod

Skillnaden mellan statisk och icke-statisk metod
Skillnaden mellan statisk och icke-statisk metod

Video: Skillnaden mellan statisk och icke-statisk metod

Video: Skillnaden mellan statisk och icke-statisk metod
Video: Ma2a Skillnader mellan begreppen uttryck, ekvation och funktion 2024, Juli
Anonim

Statisk vs icke-statisk metod

En metod är en serie uttalanden som utförs för att utföra en specifik uppgift. Metoder kan ta input och producera output. Statiska och icke-statiska metoder är två typer av metoder som finns i objektorienterade programmeringsspråk. En statisk metod är en metod som är associerad med en klass. En metod som är associerad med ett objekt kallas en icke-statisk (instans)metod. I objektorienterade språk används metoder som en mekanism för att arbeta på data som lagras i objekt.

Vad är en statisk metod?

I objektorienterad programmering är statisk metod en metod som är associerad med en klass. Därför har statiska metoder inte förmågan att fungera på en viss instans av en klass. Statiska metoder kan anropas utan att använda ett objekt av klassen som innehåller den statiska metoden. Följande är ett exempel på hur man definierar en statisk metod i Java. Det statiska måste användas när man definierar en statisk metod i Java.

public class MyClass { public static void MyStaticMethod() { // kod för den statiska metoden }

}

Den statiska metoden som definieras ovan skulle kunna anropas enligt följande med namnet på klassen den tillhör.

MyClass. MyStaticMethod();

En viktig sak att notera är att statiska metoder endast kan komma åt statiska medlemmar.

Vad är en icke-statisk metod?

En icke-statisk metod eller en instansmetod är en metod som är associerad med ett objekt i en klass. Därför anropas icke-statiska metoder med hjälp av ett objekt av klassen där metoden är definierad. En icke-statisk metod kan komma åt såväl icke-statiska medlemmar som statiska medlemmar i en klass. I många objektorienterade språk (som C++, C, Java), när en icke-statisk metod anropas, skickas objektet som anropade metoden som ett implicit argument (det kallas "detta" referens). Så inuti metoden kan detta nyckelord användas för att referera till objektet som kallade metoden. Följande är ett exempel på hur man definierar en instansmetod i Java.

public class MyClass { public void MyInstanceMethod() { // kod för instansmetoden }

}

Förekomstmetoden som definieras ovan skulle kunna anropas enligt följande med hjälp av ett objekt i den klass det tillhör.

MyClass objMyClass=new MyClass();

objMyClass. MyInstanceMethod ();

Vad är skillnaden mellan statisk och icke-statisk metod?

Statiska metoder är metoder som är associerade med en klass, medan icke-statiska metoder är metoder som är associerade med objekt i en klass. En klass måste instansieras först för att anropa en icke-statisk metod, men statiska metoder har inte detta krav. De kan enkelt anropas med namnet på klassen som innehåller den statiska metoden. En annan viktig skillnad är att en icke-statisk metod vanligtvis har en referens till objektet som anropade metoden och den kan nås med detta nyckelord i metoden. Men detta nyckelord kan inte användas i statiska metoder eftersom de inte är associerade med ett visst objekt.

Rekommenderad: