Рубрики
Без рубрики

Ключевое слово Static в Java | Статический блок, Переменная, Метод и класс

Ключевое слово Static в Java может использоваться с блоками, переменными, методами и вложенными классами. Это ключевое слово, которое используется для совместного использования одной и той же переменной или метода.

Автор оригинала: Neha.

В Java ключевые слова-это зарезервированные слова, которые нельзя использовать в качестве идентификаторов. Всего в Java 57 ключевых слов. Один из них – ” Статический “. В этой статье я дам вам краткое представление о том, как ключевое слово static в Java применимо для различных аспектов программирования.

Введение в статическое ключевое слово в Java

В Java ключевое слово static в основном используется для управления памятью. Его можно использовать с переменными, методами, блоками и вложенными классами. Это ключевое слово, которое используется для совместного использования одной и той же переменной или метода данного класса. В принципе, статика используется для постоянной переменной или метода, который одинаков для каждого экземпляра класса. Основной метод класса обычно обозначается как статический.

Чтобы создать статический элемент (блок, переменная, метод, вложенный класс), вам необходимо предварить его объявление ключевым словом static . Когда член класса объявлен статическим, к нему можно получить доступ до создания объектов его класса и без какой-либо ссылки на объект.

В языке программирования Java ключевое слово static является модификатором без доступа и может использоваться для следующих целей:

  • Статический Блок
  • Статическая переменная
  • Статический метод
  • Статические Классы

Давайте подробно рассмотрим каждый из этих методов с помощью примера.

Применение статического ключевого слова

Давайте сначала разберемся, как используется статический блок в языке программирования Java.

Статический Блок

Если вам нужно выполнить вычисления для инициализации ваших статических переменных , вы можете объявить статический блок, который выполняется ровно один раз при первой загрузке класса. Взгляните на приведенную ниже программу Java, чтобы понять использование статического блока.

// Java program to demonstrate the use of static blocks
import java.util.*;
public class BlockExample{
// static variable
static int j = 10;
static int n;

// static block
static {
System.out.println("Static block initialized.");
n = j * 8;
}

public static void main(String[] args)
{
System.out.println("Inside main method");
System.out.println("Value of j : "+j);
System.out.println("Value of n : "+n);
}
}

При выполнении описанной выше программы статический блок инициализируется и отображает значения инициализированных переменных.

Вывод :

Static block initialized
Inside main method
Value of j:10
Value of n : 80

Теперь, когда вы знаете, как работает статический блок, давайте продвинемся дальше и посмотрим, что такое статические переменные и как это полезно.

Статическая переменная

Когда вы объявляете переменную как статическую, создается одна копия переменной и распределяется между всеми объектами на уровне класса. Статические переменные, по сути, являются глобальными переменными. В принципе, все экземпляры класса используют одну и ту же статическую переменную. Статические переменные могут быть созданы только на уровне класса.

Теперь давайте разберемся в этом с помощью примера.

// Java program demonstrate execution of static blocks and variables

import java.util.*;

public class VariableExample
{
// static variable
static int j = n();

// static block
static {
System.out.println("Inside the static block");
}

// static method
static int n() {
System.out.println("from n ");
return 20;
}

// static method(main !!)
public static void main(String[] args)
{
System.out.println("Value of j : "+j);
System.out.println("Inside main method");
}
}

Когда вы выполняете приведенную выше программу, она выполнит статический блок и переменную в порядке, определенном в приведенной выше программе.

Выход:

from n
Inside the static block
Value of j: 20
Inside main method

Поняв это, давайте глубже погрузимся в эту статью о ключевом слове Static в Java и узнаем, что такое статические методы и вложенные классы.

Статические методы

Когда метод объявляется с ключевым словом static , он называется статическим методом. Наиболее распространенным примером статического метода является метод main ( ) . Методы, объявленные как статические, могут иметь следующие ограничения:

Они могут напрямую вызывать только другие статические методы.

Они могут напрямую получать доступ к статическим данным.

Теперь давайте разберемся в статических методах с помощью примера

// java program to demonstrate restriction on static methods
public class StaticMethodExample
{
// static variable
static int j = 100;

// instance variable
int n = 200;

// static method
static void a()
{
a = 200;
System.out.println("Print from a");

// Cannot make a static reference to the non-static field b
n = 100; // compilation error

// Cannot make a static reference to the
// non-static method a2() from the type Test
a2(); // compilation error

// Cannot use super in a static context
System.out.println(super.j); // compiler error
}

// instance method
void a2()
{
System.out.println("Inside a2");
}

public static void main(String[] args)
{
// main method
}
}

В приведенных выше примерах вы можете увидеть, как накладываются ограничения на статические методы, а также как вам разрешается использовать ключевое слово super в статическом контексте. Все дело было в Статических методах. Теперь давайте посмотрим, что такое вложенные классы.

Статический Класс

Класс может быть создан статическим только в том случае, если он является вложенным классом. Вложенный статический класс не нуждается в ссылке на внешний класс. В этом случае статический класс не может получить доступ к нестатическим членам Внешнего класса. Давайте возьмем пример, чтобы понять, как это работает

public class NestedExample{
private static String str= "Edureka"
//Static class
static class MyNestedClass{
//non-static method
public void disp(){
System.out.println(str);
}
}
public static void main(String args[]){
NestedExample.MyNestedClass obj = new NestedExample.MyNestedClass();
obj.disp();

}

Когда вы выполняете приведенный выше код, ваш вывод выглядит следующим образом:

Эврика

Это было все о различных приложениях статического ключевого слова в Java. На этом мы подходим к концу этой статьи. Надеюсь, вы нашли это информативным.

У вас есть к нам вопрос? Пожалуйста, упомяните об этом в разделе комментариев этой статьи “Статическое ключевое слово в Java”, и мы свяжемся с вами как можно скорее.

Оригинал: “https://www.codementor.io/@nehavaidya/static-keyword-in-java-static-block-variable-method-class-wzqtuwtxh”