static 키워드 사용

2186 단어 static
1.static 키워드:
1) static 코스메틱 변수 (클래스 변수) 는 이 대상의 모든 실례에 의해 공유됩니다. (하위 클래스 포함)어떤 대상의 모든 실례의 전체 생명주기는 한 번만 실례화된다. 다시 말하면 정적 변수는 클래스에 속하는 것이지 대상(클래스의 실례)에 속하는 것이 아니다.이 키워드 수식의 변수가 퍼블릭으로 보이면 그의 하위 클래스도 이 변수를 공유하고 변경할 수 있기 때문에 일반적으로 나는 static 변수를private로 설정하고 진정한 전역 변수로 만들려면public로 수식할 수 있다.위 섹션에서 public final double PI=3.14로 변경하면 모든 인스턴스에서 상수를 공유할 수 있으며 수정할 수 없습니다.즉, 응용 프로그램 상수입니다.
코드:
class Ball {
   privatestatic int count = 0;
   publicstatic int getCount (){
       returncount ;
   }
   publicBall(){
       count++;
   }
}
 
class Test  {
   public static voidmain(String[] args) {
       for (int i = 0;i < 10000;i++ ) {
           int number=(int)(Math.random()*10);
           if (number==7) {
               new Ball();
           }
           System.out.println("created:->"+Ball.getCount());
       }
   }
}

2)static 수식 방법은 어떤 정적 방법을 집행할 때 이 클래스를 실례화할 필요가 없고 클래스 이름을 직접 사용할 수 있다.정적 방법명 접근 방법입니다.
A. 정적 방법의 제한: 정적 방법은 호출될 때 클래스의 실례가 필요하지 않기 때문에 정적 방법을 호출할 때 클래스의 실례 변수와 방법이 존재하지 않기 때문에 정적 방법을 사용하면 클래스의 실례 변수와 방법을 인용할 수 없고 정적 방법은 정적 구성원과 방법을 방문할 수 있기 때문에 정적 방법에서도 슈퍼와this 키워드를 사용할 수 없다.정적 방법은 클래스를 실례화할 때 이미 고정 클래스 메모리에 썼기 때문에 클래스를 다시 쓸 수도 없다.
3) 정적 블록(정적 초기화기): 클래스를 불러올 때 자동으로 실행되며 전체 생명주기 클래스의 자원을 초기화하고 분배하는 데 목적이 있다(단일 모드, 클래스는 그 어떠한 실례에도 속하지 않으며 클래스의 실례화 전에 정적 구성원(비정적 구성원을 포함하지 않음), 이것도 구조 함수와 다른 부분이다)
A. 정적 블록에 이름이 없습니다: 클래스의 정의에서 인용할 필요가 없기 때문입니다.
B. 정적 블록에는 매개 변수가 없습니다. 정적 블록은 클래스가 로드될 때 자동으로 실행되기 때문에 매개 변수가 필요하지 않습니다.
C. 정적 블록이 되돌아오지 않는 형식: 구조 함수처럼 값을 되돌릴 필요가 없기 때문에 마지막으로 쓴 정적 블록의 모양은 이와 유사하다static {......}
D. 클래스를 불러오지 않으려면 이 정적 블록을 실행하지만 다른 실례 인용을 개인 정적 방법으로 바꾸고 싶지 않습니다. 예를 들어private static int initBall () {...}.
E. 주의: JVM은 기본적으로 정적 블록의 대학을 64K로 제한하기 때문에 정적 블록에 너무 많은 코드를 넣지 마십시오.정적 블록에서 검사된 이상을 제거할 수 없다.try-catch 블록을 사용할 수 없다는 것도 상대적으로 단점이다. (해결 방법 세 가지, 하나는 이상을 기록하는 것을 선택하고 RuntimeException의 이상을 던져서 현재 라인을 중지하는 것이다. 다른 하나는 전기 수영 System.exit () 방법을 선택한 다음에 이것은 위탁 관리 환경에서 통하지 않는다. 이런 선택은 보통 자바 프로그램에서 하고 다른 하나는 로고를 설정해서 표시하는 데 실패한다.클래스의 구조 함수에서 바지 검사 표지의 상태);정적 블록의 코드를 테스트하는 것은 일반적으로 비교적 어렵다.[static 블록의 응용 환경에서 흔히 볼 수 있는 것은 자바 프로그램에서 데이터베이스 드라이브를 불러오는 것이다.]

좋은 웹페이지 즐겨찾기