Java статичен метод, променлива и блок с пример

Съдържание:

Anonim

Статиката може да бъде:

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

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

Какво представлява статичната променлива в Java?

Статичната променлива в Java е променлива, която принадлежи към класа и се инициализира само веднъж в началото на изпълнението. Това е променлива, която принадлежи на класа, а не на обект (екземпляр). Статичните променливи се инициализират само веднъж, в началото на изпълнението. Тези променливи ще бъдат инициализирани първо, преди инициализирането на променливи на всеки екземпляр.

  • Едно копие, което да бъде споделено от всички копия на класа
  • Статичната променлива може да бъде достъпна директно от името на класа и не се нуждае от обект

Синтаксис :

< class-name>. 

Какво е статичен метод в Java?

Статичният метод в Java е метод, който принадлежи на класа, а не на обекта. Статичният метод има достъп само до статични данни. Това е метод, който принадлежи на класа, а не на обекта (екземпляра). Статичният метод има достъп само до статични данни. Той няма достъп до нестатични данни (променливи на екземпляра).

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

Синтаксис :

< class-name>. 

Забележка: основният метод е статичен, тъй като той трябва да е достъпен, за да може да се изпълни приложение, преди да се извърши екземпляр.

Нека научим нюансите на статичните ключови думи, като правим някои упражнения!

Пример: Как да извиквам статични променливи и методи

Стъпка 1) Копирайте следния код в редактор

публичен клас Демо {публична статична void main (String args []) {Студент s1 = нов студент ();s1.showData ();Студент s2 = нов студент ();s2.showData ();//Student.b++;//s1.showData ();}}клас Ученик {int a; // инициализиран до нуластатичен int b; // инициализира се до нула само когато класът е зареден не за всеки създаден обект.Студент(){// Конструктор, увеличаващ статичната променлива bb ++;}public void showData () {System.out.println ("Стойност на a =" + a);System.out.println ("Стойност на b =" + b);}// публично статично увеличение на празнотата () {// a ++;//}}

Стъпка 2) Запазване и компилиране на кода. Стартирайте кода като, java Demo .
Стъпка 3) Очакваните резултати се показват по-долу


Следващата диаграма показва как се създават референтни променливи и обекти и достъп до статични променливи от различните екземпляри.


Стъпка 4) Възможен е достъп до статична променлива извън класа, използвайки синтаксиса ClassName.Variable_Name . Коментирайте ред # 7 и 8. Запазване, компилиране и стартиране. Наблюдавайте изхода.

Value of a = 0Value of b = 1Value of a = 0Value of b = 2Value of a = 0Value of b = 3
Стъпка 5) Коментирайте ред 25,26 и 27. Запазване, компилиране и стартиране.
error: non-static variable a cannot be referenced from a static context a++;

Стъпка 6) Грешка =? Това е така, защото не е възможно да се осъществи достъп до променливата на екземпляра " a " от метода на статичния клас на Java " увеличение ".

Какво е статичен блок в Java?

В статичен блок е блок на изявление в рамките на клас Java, която ще бъде изпълнена, когато един клас е натоварено в JVM. А статичен блок помага да се инициализира статични членове на данни , също като конструктори помощ, за да се инициализира членовете инстанция.

class Test{static {//Code goes here}}

Следващата програма е примерът на статичния блок на Java.

Пример: Как да получите достъп до статичен блок

публичен клас Демо {статичен int a;статичен int b;статичен {а = 10;b = 20;}публична статична void main (String args []) {System.out.println ("Стойност на a =" + a);System.out.println ("Стойност на b =" + b);}}

ще получите следния изход на програмата.

Value of a = 10Value of b = 20