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

Что именно является ключевым словом “статический” в Java?

Многие из нас все еще путаются с ключевым словом static. Теперь мы обсудим, как используется статическое ключевое слово… Помеченный java, codenewbie, статический.

Многие из нас все еще путаются с ключевым словом static. Теперь мы обсудим, как используется статическое ключевое слово? и как это помогает сэкономить много кода от переписывания?

Посмотрите на следующий код

public class staticDemo{
           public static void main(String args[]){
                     System.out.println("Hello world!");  //prints "Hello world"
            }
}

“Привет, мир” – это базовая программа, верно? .Это то, как кто-то начинает изучать java. Вы когда-нибудь замечали, что в основном методе есть ключевое слово static ?. Что делает эта статика?.

Используя ключевое слово static в методе main() , мы можем вызвать метод main() без какого-либо экземпляра объекта, т.е. Мы можем вызывать статические методы, используя имя класса.

Давайте рассмотрим другой пример –

class A{
     static void  show(){
         System.out.println("static method in class A");
    }
}  
public class staticDemo{
           public static void main(String args[]){
                     A.show() // prints  "static method in class A"
            }
}

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

статические переменные – это переменные, которые применимы ко всем экземплярам объявленного класса. Когда переменная статична , ее значение одинаково для всех экземпляров. Если какой-либо из экземпляров изменяет значение статической переменной, это отражается и на всех остальных экземплярах.

рассмотрим следующий код –

class A{
    static int i;
} 
public class staticDemo{
    public static void main(String args[]){
        A obj1= new A();
        A obj2 =new A();
        A obj3 =new A();
        obj3.i=10; 
       System.out.println(obj1.i); // 10
    }
}

ПРИМЕЧАНИЕ – статические переменные могут быть доступны нестатическими методами. Но нестатические переменные недоступны в статических методах. Почему это так? , Поскольку нестатические переменные нуждаются в экземпляре для вызова переменных, и мы можем присваивать разные значения нестатическим переменным, создавая несколько объектов. Таким образом, компилятору будет сложно понять, к какому значению экземпляра значения я должен получить доступ.

## статический блок в java –

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

class A{
    static  int i;
    static{
          i=9;
          System.out.println("static block in A");
    }
}   
public class staticDemo{
    static{
     System.out.println("static block in main");
     }
    public static void main(String args[]){
              System.out.println(A.i);
               System.out.println("static in main");


    }  
}

Статические блоки всегда выполняются первыми. статический блок выполняется, а затем выполняется метод main() . В main() методе мы имеем А.я здесь класс загружается в память, и при загрузке памяти выполняется статический блок и затем значение i печатается, наконец печатается “статика в главном”.

// output of above code
static block in main
static block in A
9
static in main 

Резюме

  • переменным и методам с ключевым словом static не требуется экземпляр для доступа к нему. К ним можно получить доступ, используя имя класса.
  • статические блоки выполняются перед конструкторами и методами.
  • Если имеется несколько статических блоков, они выполняются в соответствии с последовательностью в коде.
  • нестатические переменные недоступны в статических методах.

Спасибо за прочтение!. Я надеюсь вы узнали кое-что о статическом . Если вы почувствуете, что что-то не так, пожалуйста, дайте мне знать:)

Давайте подключимся к Твиттер .

Счастливого кодирования:)

Оригинал: “https://dev.to/saitejaballa/what-exactly-static-keyword-is-in-java-1lnj”