산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java의 정적 변수:정적 블록 및 메서드란 [예시]

정적은 다음과 같을 수 있습니다.

  1. 정적 변수
  2. 정적 메소드
  3. 정적 코드 블록.

먼저 정적 변수와 정적 메서드를 살펴보겠습니다.

자바에서 정적 변수란 무엇입니까?

자바의 정적 변수 클래스에 속하는 변수이며 실행 시작 시 한 번만 초기화됩니다. 객체(instance)가 아닌 클래스에 속하는 변수입니다. 정적 변수는 실행 시작 시 한 번만 초기화됩니다. 이러한 변수는 인스턴스 변수를 초기화하기 전에 먼저 초기화됩니다.

구문:

<class-name>.<variable-name>

자바에서 정적 메소드란 무엇입니까?

자바의 정적 메소드 객체가 아닌 클래스에 속하는 메소드입니다. 정적 메서드는 정적 데이터에만 액세스할 수 있습니다. 객체(인스턴스)가 아닌 클래스에 속하는 메소드입니다. 정적 메서드는 정적 데이터에만 액세스할 수 있습니다. 비정적 데이터(인스턴스 변수)에 액세스할 수 없습니다.

구문:

<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단계) 코드를 저장하고 컴파일합니다. 자바 데모로 코드를 실행합니다. .

3단계) 예상 출력은 아래에 표시됩니다.

다음 다이어그램은 참조 변수 및 개체가 생성되고 정적 변수가 다른 인스턴스에 의해 액세스되는 방법을 보여줍니다.

4단계) ClassName.Variable_Name 구문을 사용하여 클래스 외부에서 정적 변수에 액세스할 수 있습니다. . 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에 액세스할 수 없기 때문입니다. " 자바 정적 클래스 메소드 "증가 ".

자바에서 정적 블록이란 무엇입니까?

정적 블록 클래스가 JVM에 처음 로드될 때 실행될 Java 클래스 내부의 명령문 블록입니다. 정적 블록은 정적 데이터 멤버를 초기화하는 데 도움이 됩니다. , 생성자가 인스턴스 멤버를 초기화하는 데 도움이 되는 것처럼

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

다음 프로그램은 자바 정적 블록의 예입니다.

예:정적 블록에 액세스하는 방법

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. 자바 최종 키워드
  2. 자바 instanceof 연산자
  3. 자바 중첩 정적 클래스
  4. 자바 익명 클래스
  5. 자바 싱글톤 클래스
  6. 자바 리플렉션
  7. 자바 예외 처리
  8. 자바 ObjectOutputStream 클래스
  9. 자바 제네릭
  10. 자바 파일 클래스