У Јави, тхе статичне кључна реч се може користити са променљивом, константом и функцијама. Главна сврха коришћења статичне кључна реч је управљање меморијом како бисмо је могли ефикасно користити. У овом одељку ћемо разговарати о статичка функција у Јави.
стринг у Ц++
Статичка функција
Ако кључна реч статичне има префикс испред имена функције, функција се зове а статичка функција . Често се назива а методом .
Метода је група променљивих и исказа који заједно функционишу као логичка јединица. Као и поља, методе могу имати модификаторе (као што су приватни, јавни или статички). Методе такође имају тип враћања (могу бити неважећи ако метода не враћа ништа). Тип повратка може бити референтни тип (као што је објекат или низ). Метода може имати било који број параметара или аргумената.
Када је функција статичне , то је заиста део класе, а не део појединачних објеката у класи. То значи да статичке функције постоје чак и пре креирања било ког објекта.
Најбољи пример статичке методе је главни() методом.
Особине статичке функције
- Може приступити само статичним члановима.
- Може се позвати без инстанце.
- Није повезан са објектом.
- Статичка функција не може приступити нестатичким члановима података.
Декларисање статичке функције
Декларација статичке функције у Јава је исто што и декларација методе. Функција има функцију из два дела прототип и тело функције.
Тхе прототип функције садржи потпис функције који укључује име функције, тип повратка, спецификацију приступа и листу параметара. Тхе тело функције садржи логику или функционалност коју треба извршити.
Синтакса:
[access specifier] static [return type] [function name] (parameter list) { //body of the function }
У горњој синтакси, спецификација приступа и листа параметара су опциони. Функција може, али не мора имати листу параметара. На пример:
public static int sum(int a, int b) { int c=a+b; return c; }
Позивање статичке функције
У Јави не можемо позвати статичку функцију коришћењем објекта. Позива се коришћењем Назив класе .
[class name].[method name]
На пример:
Math.sqrt(a); //calling the square root function of the Math class
Пример статичке функције у Јави
Хајде да створимо а Јава програм из чега можемо јасно разумети разлику између статичких и нестатичких функција.
СтатциФунцтионЕкампле.јава
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(); } }
Излаз:
A non-static function is called. The static function is called.
Хајде да направимо Јава програм и позовимо статичку методу из друге статичке методе чак и без креирања објекта класе.
ЦалцулатеЦубе.јава
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(); } }
Излаз:
Cube of 7 is: 343
Ограничења статичке методе
Постоје два главна ограничења за статичку методу. Су:
- Статички метод се не може користити нестатична чланова података или директно позвати нестатичку методу.
Демо.јава
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); } }
Излаз: