자바 정적 내부 클래스 와 Builder 모드
자바 에 서 는 클래스 내부 에서 정적 내부 클래스 를 정의 할 수 있 습 니 다.다 중 매개 변수 대상 을 구축 하고 클래스 의 일치 성 을 확보 할 수 있 습 니 다.
2. 비정 상 내부 와 의 차이
정적 내부 클래스 와 비 정적 내부 클래스 의 차 이 는 다음 과 같다.
4. 567917. 비 정적 내부 클래스 에서 정적 구성원 을 설명 할 수 없습니다.정적 내부 클래스 만 정적 인 구성원 변수 와 구성원 방법 을 정의 할 수 있 습 니 다
4. 567917. 비정 상 내부 류 는 외부 류 의 구성원 변수 와 구성원 방법 을 임의로 방문 할 수 있 습 니 다.정적 내부 클래스 는 외부 클래스 의 정적 구성원 (변수 나 방법) 만 참조 할 수 있 을 뿐 비 정적 변 수 는 접근 할 수 없습니다
4. 567917. 내부 클래스 의 인 스 턴 스 는 반드시 외부 클래스 의 인 스 턴 스 에 연결 해 야 합 니 다.즉, 내부 클래스 를 만 들 기 전에 외부 클래스 에서 new 키 워드 를 이용 하여 이 내부 클래스 의 대상 을 만들어 야 한 다 는 것 이다.정적 내부 클래스 를 정의 할 때 외부 클래스 에 연 결 된 인 스 턴 스 를 정의 할 필요 가 없습니다.즉, 외부 클래스 에서 정적 인 내부 클래스 를 정의 하려 면 키워드 new 를 이용 하여 내부 클래스 의 인 스 턴 스 를 만 들 필요 가 없습니다
3. Builder 모드 에서 원본 코드 초기 화
// Telescoping constructor pattern - does not scale well! - Pages 11-12
public class NutritionFacts {
private final int servingSize; // (mL) required
private final int servings; // (per container) required
private final int calories; // optional
private final int fat; // (g) optional
private final int sodium; // (mg) optional
private final int carbohydrate; // (g) optional
public NutritionFacts(int servingSize, int servings) {
this(servingSize, servings, 0);
}
public NutritionFacts(int servingSize, int servings,
int calories) {
this(servingSize, servings, calories, 0);
}
public NutritionFacts(int servingSize, int servings,
int calories, int fat) {
this(servingSize, servings, calories, fat, 0);
}
public NutritionFacts(int servingSize, int servings,
int calories, int fat, int sodium) {
this(servingSize, servings, calories, fat, sodium, 0);
}
public NutritionFacts(int servingSize, int servings,
int calories, int fat, int sodium, int carbohydrate) {
this.servingSize = servingSize;
this.servings = servings;
this.calories = calories;
this.fat = fat;
this.sodium = sodium;
this.carbohydrate = carbohydrate;
}
public static void main(String[] args) {
NutritionFacts cocaCola =
new NutritionFacts(240, 8, 100, 0, 35, 27);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【eclipse】같은 파일을 2개 열고 싶다【에디터의 분할】「이런 것은 다른 클래스로 나누어야 한다!」라든지 있다고는 생각합니다만. 실제로 실무 속에서 프로그램을 쓰고 있으면, 이런 소스에 눈에 걸리는 일도 적지 않을까···. 그건 그렇고, 내 노트북에서 이렇게 보입니다 네...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.