V Javě, statický klíčové slovo lze použít s proměnnými, konstantami a funkcemi. Hlavním účelem použití statický klíčové slovo je spravovat paměť, abychom ji mohli efektivně využívat. V této části budeme diskutovat o statická funkce v Javě.
ohraničení pomocí css
Statická funkce
Pokud klíčové slovo statický má předponou před názvem funkce, funkce se nazývá a statická funkce . Často se nazývá a metoda .
Metoda je skupina proměnných a příkazů, které fungují společně jako logická jednotka. Podobně jako pole mohou mít i metody modifikátory (například private, public nebo static). Metody mají také návratový typ (může být neplatný, pokud metoda nevrací nic). Návratovým typem může být referenční typ (například objekt nebo pole). Metoda může mít libovolný počet parametrů nebo argumentů.
Když je funkce statický , je skutečně součástí třídy a ne součástí jednotlivých objektů ve třídě. To znamená, že statické funkce existují ještě před vytvořením jakýchkoli objektů.
Nejlepším příkladem statické metody je hlavní() metoda.
Vlastnosti statické funkce
- Má přístup pouze ke statickým členům.
- Lze jej volat bez instance.
- Není spojen s objektem.
- Statická funkce nemůže získat přístup k nestatickým datovým členům.
Deklarace statické funkce
Deklarace statické funkce v Jáva je totéž jako deklarace metody. Funkce má dvě části funkce prototyp a tělo funkce.
The funkční prototyp obsahuje podpis funkce, který obsahuje název funkce, návratový typ, specifikátor přístupu a seznam parametrů. The funkční tělo obsahuje logiku nebo funkci, která má být provedena.
Syntax:
[access specifier] static [return type] [function name] (parameter list) { //body of the function }
Ve výše uvedené syntaxi jsou specifikátor přístupu a seznam parametrů volitelné. Funkce může nebo nemusí mít seznam parametrů. Například:
public static int sum(int a, int b) { int c=a+b; return c; }
Volání statické funkce
V Javě nemůžeme volat statickou funkci pomocí objektu. Vyvolá se pomocí jméno třídy .
[class name].[method name]
Například:
Math.sqrt(a); //calling the square root function of the Math class
Příklad statické funkce v Javě
Vytvořme a Java program z čehož jasně pochopíme rozdíl mezi statickými a nestatickými funkcemi.
StatciFunctionExample.java
class Demo { //non-static function void display() { System.out.println('A non-static function is called.'); } //static function static void show() { System.out.println('The static function is called.'); } } public class StaticFunctionExample { public static void main(String args[]) { //creating an object of the class A Demo obj = new Demo(); //calling a the non-static function by using the object of the class obj.display(); //calling a static function by using the class name Demo.show(); } }
Výstup:
A non-static function is called. The static function is called.
Vytvořme Java program a zavolejte statickou metodu z jiné statické metody i bez vytvoření objektu třídy.
CalculateCube.java
public class CalculateCube { //defining a static method static void cube() { int x=7*7*7; System.out.println('Cube of 7 is: '+x); } public static void main(String args[]) { //calling the static method without using the object of the CalculateCube class cube(); } }
Výstup:
Cube of 7 is: 343
Omezení statické metody
Pro statickou metodu existují dvě hlavní omezení. Oni jsou:
- Nelze použít statickou metodu nestatické datové členy nebo zavolejte přímo nestatickou metodu.
Demo.java
class Demo { int num=100; //non-static variable //static method public static void main(String args[]) { //trying to access non-static data member from static context System.out.println(num); } }
Výstup: