Статиката може да бъде:
- Статични променливи
- Статични методи
- Статични блокове на кода.
Нека първо разгледаме статичните променливи и статичните методи.
Какво представлява статичната променлива в 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