자바 내부 클래스 응용의 정적 내부 클래스 응용 예시
눈여겨보다
static 을 사용 하여 내부 클래스 를 수식 하면 이 내부 클래스 는 외부 클래스 자체 에 속 하고 외부 클래스 의 특정한 대상 에 속 하지 않 습 니 다.따라서 static 수식 을 사용 하 는 내부 류 는 클래스 내부 류 라 고도 부 르 고 정적 내부 류 라 고도 부른다.
static 키 워드 는 외부 클래스 를 수식 할 수 없 지만 내부 클래스 를 수식 할 수 있 습 니 다.
2 실전-정적 내부 클래스 는 외부 클래스 의 인 스 턴 스 구성원 을 방문 할 수 없고 외부 클래스 의 구성원 만 방문 할 수 있 습 니 다.
시선
정적 내부 클래스 는 정적 구성원 을 포함 할 수도 있 고 비정 상 구성원 을 포함 할 수도 있다.정적 구성원 이 비정 상 구성원 에 접근 할 수 없 는 규칙 에 따라 정적 내부 클래스 는 외부 클래스 의 인 스 턴 스 구성원 에 접근 할 수 없고 외부 클래스 의 구성원 에 만 접근 할 수 있 습 니 다.정적 내부 클래스 의 인 스 턴 스 방법 도 외부 클래스 의 인 스 턴 스 구성원 에 접근 할 수 없고 외부 클래스 의 정적 구성원 에 만 접근 할 수 있 습 니 다.
2 코드
public class StaticInnerClassTest
{
private int prop1 = 5;
private static int prop2 = 9;
static class StaticInnerClass
{
//
private static int age;
public void accessOuterProp()
{
// :
//
//System.out.println(prop1);
//
System.out.println(prop2);
}
}
}
설명accessOuterProp 은 인 스 턴 스 방법 이지 만 외부 클래스 의 prop 1 구성원 변 수 를 방문 할 수 없습니다.인 스 턴 스 변수 이기 때 문 입 니 다.정적 구성원 변수 이기 때문에 prop 2 에 접근 할 수 있 습 니 다.
3 실전―외부 류 는 정적 내부 류 를 사용한다.
시선
정적 내부 클래스 는 외부 클래스 의 정적 구성원 이기 때문에 외부 클래스 의 모든 방법,모든 초기 화 블록 은 정적 내부 클래스 를 사용 하여 변 수 를 정의 하고 대상 을 만 들 수 있 습 니 다.
외부 클래스 는 정적 내부 클래스 의 구성원 을 직접 방문 할 수 없 지만 정적 내부 클래스 의 클래스 이름 을 호출 자로 사용 하여 정적 내부 클래스 의 클래스 구성원 을 방문 할 수 있 고 정적 내부 클래스 대상 을 호출 자로 사용 하여 정적 내부 클래스 의 인 스 턴 스 구성원 을 방문 할 수 있 습 니 다.
2 코드
public class AccessStaticInnerClass
{
static class StaticInnerClass
{
private static int prop1 = 5;
private int prop2 = 9;
}
public void accessInnerProp()
{
// System.out.println(prop1);
// , :
//
System.out.println(StaticInnerClass.prop1);
// System.out.println(prop2);
// , :
//
System.out.println(new StaticInnerClass().prop2);
}
}
더 많은 자바 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.