자바 의 static 키워드 상세 설명
static 키 워드 는 구성원 변수 와 구성원 방법 을 수식 하 는 데 사 용 됩 니 다. 수 정 된 구성원 은 특정한 대상 에 만 속 하 는 것 이 아 닙 니 다.
2 가지 변수: static 에 의 해 수 식 된 구성원 변수
클래스 의 모든 대상 은 같은 클래스 변 수 를 공유 하고 클래스 를 통 해 이 대상 을 조작 할 수 있 으 며, 이 클래스 의 모든 대상 도 이 클래스 변 수 를 조작 할 수 있다.
형식:
static ;
클래스 이름 을 사용 하여 클래스 변 수 를 직접 조작 하 는 것 을 권장 합 니 다.
사례 (학 번 배정): 새 학기 에 개학 하고 학생 들 이 도착 신 고 를 하려 면 새로 온 학생 들 에 게 학 번 (sid) 을 배정 해 야 합 니 다.학 번 이 유일 하고 연속 적 이 며 반 의 인원 과 일치 하여 다음 새 학우 에 게 배정 해 야 할 학 번 이 얼마 인지 알 수 있 도록 한다.따라서 우 리 는 하나의 변수 가 필요 하 다. 단독 학생 대상 과 상 관 없 이 전체 반 학생 의 수량 과 관계 가 있다.
public class Student {
private String name;
private int age;
// id
private int sid;
// , ,
public static int numberOfStudent = 0;
public Student(String name, int age){
this.name = name;
this.age = age;
// numberOfStudent
this.sid = ++numberOfStudent;
}
//
public void show(){
System.out.println("Student : name=" + name + ",age=" + age + ", sid=" + sid);
}
}
public class StuDemo {
public static void main(String[] args) {
Student s1 = new Student(" ",23);
Student.numberOfStudent = 38;
Student s2 = new Student(" ",24);
Student s3 = new Student(" ",25);
Student s4 = new Student(" ",26);
s1.show();//Student : name= ,age=23, sid=1
s2.show();//Student : name= ,age=24, sid=2
s3.show();//Student : name= ,age=25, sid=39
s4.show();//Student : name= ,age=26, sid=40
}
}
3 가지 방법: static 에 의 해 수 식 된 멤버 방법
클래스 의 모든 대상 이 같은 클래스 방법 을 공유 하고 클래스 를 통 해 이 방법 을 사용 할 수 있 으 며, 이 클래스 의 모든 대상 도 이 방법 을 사용 할 수 있다.
형식:
static ( ){
//
}
클래스 이름 을 통 해 클래스 방법 을 직접 사용 하 는 것 을 권장 합 니 다.
사례: 다음 예 를 들 어 Student 클래스 에서 정적 방법 을 정의 합 니 다.
//
public static void showNum() {
System.out.println("num:" + numberOfStudent);
}
public class StuDemo {
public static void main(String[] args) {
Student s1 = new Student(" ",23);
Student s2 = new Student(" ",24);
Student.numberOfStudent = 38;
Student s39 = new Student(" ",25);
Student s40 = new Student(" ",26);
Student.showNum();//num:40
s1.numberOfStudent = 50;
s1.showNum();//num:50
}
}
클래스 방법 주의사항:
4. 567917. 클래스 방법 은 클래스 변수 와 클래스 방법 만 직접 방문 할 수 있 고 일반 구성원 변수 나 일반 구성원 방법 에 직접 방문 할 수 없습니다
4. 567917. 일반 구성원 방법 은 클래스 변수 와 클래스 방법 을 직접 방문 할 수 있다
4. 567917. 클래스 방법 중 this 키 워드 를 사용 할 수 없습니다
4 정적 코드 블록: static {}
역할: 클래스 변 수 를 초기 화 합 니 다.
위치: 클래스 방법 외
형식: static {}
클래스 의 로드 에 따라 실행 되 고 한 번 만 실행 되 며 main 방법 과 구조 방법 보다 우선 합 니 다.
public class Game {
public static int number;
public static ArrayList list;
static {
number = 2;
list = new ArrayList<>();
list.add(" ");
list.add(" ");
}
}
총화
static 키 워드 는 변수, 방법, 코드 블록 을 수식 할 수 있 습 니 다. 주요 목적 은 대상 을 만 들 지 않 고 호출 하 는 것 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.