static 키워드

양대 작용

  • 객체가 작성된 개수와 관계없이 특정 데이터 유형이나 객체에 단일 스토리지 공간을 할당합니다.
  • 어떤 방법이나 속성이 대상이 아닌 클래스와 연결되는 것을 실현한다. 즉, 대상을 만들지 않은 상황에서 클래스를 통해 방법을 직접 호출하거나 클래스의 속성을 사용할 수 있다.static는 주로 4가지 사용 상황이 있는데 그것이 바로 구성원 변수, 구성원 방법, 코드 블록과 내부 클래스이다.

  • 1. 멤버 꾸미기(멤버 변수와 멤버 방법)

  • 클래스가 로드됨에 따라 로드됨(클래스가 사라지면서 사라짐)은 클래스의 생명주기가 가장 길다는 것을 의미한다
  • 대상이 존재하는 것보다 우선(정태가 먼저 존재하고 대상이 뒤에 존재한다는 것을 명확히 한다)
  • 모든 객체에 공유(공간 절약)
  • 대상에 호출될 수 있는 것 외에 클래스에 직접 호출될 수 있다
  • class man{
    	String name = "zhangsan";// , 
    	static int age = 20;// , 
    	/*
    	public void show() {
    		System.out.println(name);
    	}
    	*/
    }
    
    public class jingtai {
    
    	public static void main(String[] args) {
    		//man m = new man();
    		//m.show();
    		//System.out.println(m.name);//1. 
    		System.out.println(man.age);//2. 
    	}
    
    }
    

    실례 변수와 클래스 변수의 차이
    보관 위치
    라이프 사이클
    인스턴스 변수
    메모리를 쌓다
    인스턴스 변수 라이프 사이클은 객체가 사라지면 사라집니다.
    클래스 변수
    방법구
    클래스 변수의 생명 주기가 가장 길고 클래스가 사라지면서 사라진다

    2. static 코드 블록(정적 블록)


    3. 내부 클래스 중의 정적 내부 클래스


    정적 방법 사용 시 고려 사항:
  • static 방법에서this와 슈퍼 키워드를 사용할 수 없음
  • 비static 방법을 호출할 수 없고 소속 클래스의 정적 구성원만 접근할 수 있습니다. static 방법이 호출되었을 때 이 클래스의 대상은 아직 만들어지지 않았을 수도 있고 만들어졌더라도 어떤 대상을 호출하는 방법을 확정할 수 없습니다.마찬가지로 static 방법도 비static 형식의 변수에 접근할 수 없습니다.

  • 정태적 인 이익 과 폐단
  • 장점: 대상의 공유 데이터를 단독 공간으로 저장하여 공간을 절약하고 모든 대상에 한 부를 저장할 필요가 없다.클래스에 직접 호출될 수 있습니다.
  • 폐단: 생명주기가 너무 길다.액세스 제한 사항(정적 상태는 좋지만 정적 상태만 해당)
  • 정적 사용량(양면)
  • 정적 변수는 언제 정의합니까?대상에 공유 데이터가 나타날 때 이 데이터는 정태적으로 수식된다.대상의 특유한 데이터는 메모리에 비정상적으로 존재한다고 정의해야 한다
  • 정적 방법은 언제 정의합니까?기능 내부에 비정상적인 데이터 (대상의 특유한 데이터) 에 접근하지 않으면 이 기능은 정적으로 정의할 수 있다.
  • 좋은 웹페이지 즐겨찾기