Загрузка классов и выполнение статических блоков с использованием статического модификатора в Java

Опубликовано: 1 Декабря, 2021

Статический - это ключевое слово, которое при присоединении к методу, переменной, блоку делает его методом класса, переменной класса и блоком класса. Вы можете вызвать статическую переменную / метод, используя ClassName. JVM выполняет статический блок в « ВРЕМЯ ЗАГРУЗКИ КЛАССА»

Порядок исполнения:

Существует порядок, в котором инициализируется статический блок / метод / переменная.

  1. Статический блок
  2. Статическая переменная
  3. Статический метод

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

Примечание:

Sometimes, it is asked in interviews, to print “HELLO” without printing it inside main method or calling any method from main. Answer is to use Static block as they get initialized before main so you can use them to print anything without having any dependency on main Method in java.

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

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

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

Используется, когда методы более актуальны для класса, чем его экземпляр. Math Class в Java - отличный пример в Java. В нем есть все статические методы, которые вы можете вызывать, используя имя класса, например max, min, pow, поскольку эти функции не требуют, чтобы разные объекты имели разные значения. Вы можете передать параметры и получить ответ с помощью className.methodName ().

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

Используется, когда вы хотите инициализировать любые данные до того, как управление выполнением перейдет к другим методам, таким как основной метод.

Правила:

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

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

Ниже приведен пример, четко отображающий порядок выполнения. Статический блок вызывается первым, даже если он написан после основного метода. Это доказывает, что статические блоки - это первое, что вызывается даже перед основным методом.

Ява

// Class Loading and Static Blocks
// Execution Using Static Modifier in Java
import java.io.*;
class GFG {
// Static Variable
public static void main(String[] args)
{
System.out.println( "Static Variable=" + count);
System.out.println( "Static Method" );
}
// Static Variable
static int count = 3 ;
// Called even before Main Method
static { System.out.println( "Static Block" ); }
}
Выход
 Статический блок
Статическая переменная = 3
Статический метод

Пример из реальной жизни: чтобы добавить вывод в тот же файл журнала, создается один объект регистратора, и с помощью logger.info () данные могут быть добавлены в порядке вставки.

Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .