В Java, статичен е ключова дума, която може да се използва с променливи, класове, блокове и методи. Когато използваме ключовата дума static преди някой от тях, това означава, че посоченият член принадлежи към самия тип. С други думи, екземпляр на статичен член се създава и споделя във всички екземпляри на класа.
В този раздел ще използваме статичен ключова дума с Java клас и също разбирам защо използваме статичен клас?
изключете режима за програмисти
Java статичен клас
Можем да декларираме статичен клас, като използваме ключовата дума static. Един клас може да бъде обявен за статичен само ако е a вложен клас . Не изисква препратка към външния клас. Свойството на статичния клас е, че не ни позволява достъп до нестатичните членове на външния клас.
За да разберем концепцията за статичен клас, първо трябва да разберем концепцията за вътрешен, външен, и вложени клас.
Вътрешен клас
Извикват се класовете, които са нестатични и вложени вътрешни класове . Имайте предвид, че не можем да създадем екземпляр на вътрешния клас, без да създадем екземпляр на външния клас. Без да използва препратка към екземпляра на външния клас, екземпляр на вътрешния клас може да има достъп до членовете на своя външен клас. Това прави програмата проста и кратка.
Външен клас
Извиква се класът, в който е дефиниран вложен клас външен клас .
набори в java
Вложен клас
Java ни позволява да дефинираме клас в клас, който е известен като a вложен клас . Може да е статичен или нестатичен. Основната разлика между статичен и нестатичен клас е, че:
- Екземпляр на статичен вложен клас може да бъде създаден, без да се създава екземпляр на неговия външен клас.
- Статичните и нестатичните членове на външен клас могат да бъдат достъпни от вътрешен клас.
- Статичните членове на външния клас могат да бъдат достъпни само от статичния клас.
Помня
- Всички статични класове са вложени класове, но обратното не е вярно.
- Той има достъп само до статични членове на външния клас.
- Нестатичните променливи и методите на екземпляри не могат да бъдат достъпни в статичния клас. Ако се опитате да получите достъп до нестатична препратка от статично поле, това извежда грешка: Не може да се направи статична препратка към нестатичното поле.
- Можем да създаваме статични блокове, променливи и методи вътре в статичен клас.
- Един клас може да има множество статични класове.
- Нямаме достъп до статичния клас, ако е вътре в статичния блок.
- Може да има произволен брой статични класове в статичен клас.
Пример за статичен клас на Java
JavaStaticClassExample.java
public class JavaStaticClassExample { private static String s= 'Javatpoint'; //Static and nested class static class StaticNestedClass { //non-static method of the nested class public void show() { //prints the string defined in base class System.out.println(s); } } public static void main(String args[]) { JavaStaticClassExample.StaticNestedClass obj = new JavaStaticClassExample.StaticNestedClass(); //invoking the method of the nested class obj.show(); } }
Изход:
Javatpoint
Защо използваме статичен клас в Java?
В Java ключовата дума static се използва предимно за управление на паметта. Можем да използваме ключовата дума static с променливи, методи, блокове и класове. Използването на статичен клас е начин за групиране на класове заедно. Използва се и за достъп до примитивния член на обхващащия клас чрез препратката към обекта. Статичните класове се зареждат от програмата за зареждане на класове само по време на първото използване, а не когато се зарежда обхващащият клас.