Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Статическая переменная в Java:что такое статический блок и метод [пример]

Статика может быть:

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

Давайте сначала рассмотрим статические переменные и статические методы.

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

Статическая переменная в Java это переменная, которая принадлежит классу и инициализируется только один раз в начале выполнения. Это переменная, которая принадлежит классу, а не объекту (экземпляру). Статические переменные инициализируются только один раз, в начале выполнения. Эти переменные будут инициализированы первыми, перед инициализацией любых переменных экземпляра.

Синтаксис:

<class-name>.<variable-name>

Что такое статический метод в Java?

Статический метод в Java это метод, который принадлежит классу, а не объекту. Статический метод может получить доступ только к статическим данным. Это метод, который принадлежит классу, а не объекту (экземпляру). Статический метод может получить доступ только к статическим данным. Он не может получить доступ к нестатическим данным (переменным экземпляра).

Синтаксис:

<class-name>.<method-name>

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


Давайте изучим нюансы статических ключевых слов, выполнив несколько упражнений!

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

Шаг 1) Скопируйте следующий код в редактор

public class Demo{
   public static void main(String args[]){
     Student s1 = new Student();
     s1.showData();
     Student s2 = new Student();
     s2.showData();
     //Student.b++;
     //s1.showData();
  }
}

class Student {
int a; //initialized to zero
static int b; //initialized to zero only when class is loaded not for each object created.

  Student(){
   //Constructor incrementing static variable b
   b++;
  }

   public void showData(){
      System.out.println("Value of a = "+a);
      System.out.println("Value of b = "+b);
   }
//public static void increment(){
//a++;
//}

}

Шаг 2) Сохраните и скомпилируйте код. Запустите код как демонстрационная версия Java. .

Шаг 3) Ожидаемый результат показан ниже

На следующей диаграмме показано, как создаются ссылочные переменные и объекты, а к статическим переменным обращаются различные экземпляры.

Шаг 4) Доступ к статической переменной можно получить извне класса, используя синтаксис ИмяКласса.Имя_Переменной. . Раскомментируйте строки # 7 и 8 . Сохраните, скомпилируйте и запустите. Наблюдайте за выводом.

Value of a = 0
Value of b = 1
Value of a = 0
Value of b = 2
Value of a = 0
Value 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.

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

public class Demo {
 static int a;
 static int b;
 static {
    a = 10;
    b = 20;
 }
 public static void main(String args[]) {

  System.out.println("Value of a = " + a);
  System.out.println("Value of b = " + b);

 	}
}

вы получите следующий вывод программы.

Value of a = 10
Value of b = 20

java

  1. Окончательное ключевое слово Java
  2. Оператор экземпляра Java
  3. Вложенный статический класс Java
  4. Анонимный класс Java
  5. Одноэлементный класс Java
  6. Java-отражение
  7. Обработка исключений Java
  8. Класс Java ObjectOutputStream
  9. Дженерики Java
  10. Класс файла Java