static 키워드 사용
2186 단어 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 블록의 응용 환경에서 흔히 볼 수 있는 것은 자바 프로그램에서 데이터베이스 드라이브를 불러오는 것이다.]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
pudl — 빠른 프로토타이핑을 위한 JavaScript 정적 사이트 생성기 #OneDevMinute은 정적 사이트의 빠른 프로토타이핑에 사용할 것을 권장하는 반짝이는 새 JavaScript 기반 정적 사이트 생성기입니다. 지금은 gulp 및 pug를 컴파일하는 sass 워크플로를 통해 생성되는 HTML 및 CSS...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.