자바 내부 클래스 와 정적 클래스
3173 단어 자바
자바 내부 클래스 와 정적 클래스 는 일반적으로 자주 사용 하지 않 습 니 다. 응용 프로그램 프레임 워 크 에서 자주 사용 되 고 내부 클래스 를 이용 하여 리 셋 을 실현 할 수 있 습 니 다. 그 중에서 비교적 중요 한 것 은
내부 류 는 다 중 계승 을 실현 할 수 있다. 내부 류 는 여러 개의 비 인터페이스 유형, 즉 유형 과 추상 류 를 계승 할 수 있 기 때문이다.
정상 적 인 상황 에서 인터페이스 에는 어떠한 코드 도 쓸 수 없 지만 인터페이스 에서 정적 내부 류 를 실현 한 다음 에 공공 코드 를 쓸 수 있다.
내부 류
1: 내부 클래스 는 일반 클래스 의 모든 특성 을 가지 고 있 으 며, 클래스 구성원 변수의 특성 도 가지 고 있 습 니 다.
2: 내부 클래스 는 외부 클래스 의 구성원 변수, 속성, 방법, 기타 내부 클래스 에 접근 할 수 있 습 니 다.
정적 클래스
1: 내부 클래스 만 static 로 설명 할 수 있 고 정적 내부 클래스 라 고 할 수 있 습 니 다.
2: 정적 내부 클래스 만 정적 구성원 을 가 질 수 있 고 일반 내부 클래스 는 일반 구성원 만 정의 할 수 있 습 니 다.
3: 정적 클래스 는 정적 방법 과 마찬가지 로 외부 클래스 의 정적 구성원 에 게 만 접근 할 수 있 습 니 다.
4: 외부 클래스 의 정적 방법 에서 내부 클래스 에 접근 하면 정적 내부 클래스 에 만 접근 할 수 있 습 니 다.
/**
* , static
*
* @author zhanqi
*
*/
public class OuterClass {
private int ab = 1;
private static int sab = 2;
/**
*
*/
public class NormalInnerClass {
// private static int age = 22;
private int age = 22; // static
public NormalInnerClass() {
//
System.out.println(ab);
System.out.println(sab);
}
}
/**
*
*/
public static class StaticInnerClass {
//
private static int age = 22;
private int age2 = 22;
private void echo() {
// System.out.println(ab);
System.out.println(sab);//
}
}
}
내부 류 의 실례 화
1: 내부 클래스 에 접근 하려 면 외부 클래스, 내부 클래스, OutClass. InnerClass 를 사용 해 야 합 니 다.
2: 일반 내부 클래스 는 외부 클래스 의 인 스 턴 스 에 연결 해 야 합 니 다.
3: 정적 내부 클래스 는 직접 new
/**
*
*/
public class OuterClass {
/**
*
*/
public void method() {
StaticInnerClass sic = new StaticInnerClass();
NormalInnerClass nic = new NormalInnerClass();
}
/**
* Main
*/
public static void main(String[] args) {
// , ,
// NormalInnerClass nic = new NormalInnerClass();
StaticInnerClass sic = new StaticInnerClass();
}
}
/**
*
*/
class Test {
public static void main(String[] args) {
/**
* 1: , : . ,OutClass.InnerClass
* 2:
* 3: new
*/
OuterClass.StaticInnerClass sic = new OuterClass.StaticInnerClass();
// OuterClass.NormalInnerClass n = new OuterClass.NormalInnerClass();
OuterClass oc = new OuterClass();
OuterClass.NormalInnerClass nic = oc.new NormalInnerClass();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.