logo

Статична функция в Java

В Java, статичен ключовата дума може да се използва с променлива, константа и функции. Основната цел на използването на статичен Ключовата дума е да управляваме паметта, така че да можем да я използваме ефективно. В този раздел ще обсъдим статична функция в Java.

css подравняване на текст

Статична функция

Ако ключовата дума статичен е с префикс преди името на функцията, функцията се нарича a статична функция . Често се нарича а метод .

Методът е група от променливи и изрази, които функционират заедно като логическа единица. Подобно на полетата, методите могат да имат модификатори (като частни, публични или статични). Методите също имат тип връщане (може да е невалиден, ако методът не връща нищо). Върнатият тип може да бъде референтен тип (като обект или масив). Един метод може да има произволен брой параметри или аргументи.

Когато една функция е статичен , той наистина е част от класа, а не част от отделните обекти в класа. Това означава, че статичните функции съществуват дори преди създаването на обекти.

Най-добрият пример за статичен метод е основен () метод.

Свойства на статичната функция

  • Има достъп само до статични членове.
  • Може да се извика без инстанция.
  • Не е свързано с обекта.
  • Членовете на нестатичните данни не могат да бъдат достъпни от статичната функция.

Деклариране на статична функция

Декларацията на статична функция в Java е същото като декларацията на метод. Функцията има функция от две части прототип и тяло на функцията.

Статична функция в Java

The прототип на функция съдържа сигнатурата на функцията, която включва името на функцията, типа на връщане, спецификатора за достъп и списъка с параметри. The функционално тяло съдържа логиката или функционалността, която трябва да бъде изпълнена.

Синтаксис:

 [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; } 

Извикване на статична функция

В Java не можем да извикаме статичната функция с помощта на обекта. Извиква се с помощта на име на клас .

 [class name].[method name] 

Например:

 Math.sqrt(a); //calling the square root function of the Math class 

Пример за статична функция в Java

Нека създадем a Java програма от което можем ясно да разберем разликата между статични и нестатични функции.

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(); } } 

Изход:

 A non-static function is called. The static function is called. 

Нека създадем Java програма и извикаме статичен метод от друг статичен метод дори без да създаваме обект от класа.

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(); } } 

Изход:

 Cube of 7 is: 343 

Ограничения на статичния метод

Има две основни ограничения за статичния метод. Те са:

  • Статичният метод не може да се използва нестатичен членове на данни или директно извикване на нестатичен метод.
  • товаи супер ключовата дума не може да се използва със статичен контекст.

Демо.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); } } 

Изход:

Статична функция в Java