내부 클래스 특징 요약

1542 단어 프로그래머
내부류 주의사항
1. 내부 클래스는 외부 구성원을 직접 방문할 수 있다.사유를 포함하다
2. 외부 클래스가 내부 클래스에 접근하려면 대상을 만들어야 한다.
3. 다른 클래스가 내부 클래스에 접근하려면 외부 클래스를 먼저 정의해야 한다.형식: Outer.Inner in=new Outer.new Inner();이렇게 정의하면 내부 클래스에 접근할 수 있는 구성원과 방법을 정의할 수 있다.
4. 내부 클래스의 구성원 이름이 외부 클래스의 구성원 이름과 같으면.this를 사용하려면 반드시 어떤 종류의 대상인지 명확하게 해야 한다.형식: Outer.this.멤버 이름이 이렇게 방문한 사람이 외부 클래스의 멤버다.
5. 정적 내부 클래스는 외부 클래스의 정적 구성원만 접근할 수 있습니다.
6. 정적 내부 클래스인 경우 외부 다른 클래스가 내부 클래스에 액세스하는 비정상적 구성원의 이름 형식: new Outer.Inter().function();
7. 외부 클래스 액세스 정적 내부 클래스 구성원 형식: Outer.Inter.function () 이럴 때 function 방법도 정적이에요.
8. 주의: 내부 클래스에 정적 구성원이 있다면 내부 클래스는 정적 내부 클래스이어야 하며 그렇지 않으면 오류가 발생합니다.
9. 외부 클래스의 정적 구성원이 내부 클래스에 접근할 때 내부 클래스는 정적 내부 클래스이어야 한다
이내부류의 응용
1. 클래스는 하나의 사물로 하나의 사물 안에 또 사물이 있을 때 내부 클래스를 사용한다.예: 사람은 사물이고, 그 사람의 심장도 사물이다.심장 특유의 속성을 묘사하면 심장은 개류이고 그 속성은 내부류 구성원이다.
2. 내부류의 정의가 국부적일 때(방법체내)에 구성원 수식부호에 의해 수식되어서는 안 된다.외부 클래스에 직접 접근할 수 있는 구성원은 외부 클래스를 가지고 있는 인용이어야 한다.그러나 일부 변수에 접근할 수 없습니다.final로 장식된 국부 변수만 접근할 수 있습니다.(int y=4final에서 내부 클래스를 수식하지 않을 때 접근할 수 없습니다. 단 int x=3;에 접근할 수 있습니다.)코드는 다음과 같습니다.
public class Outer {
	int x=3;
	void method(){
		final int y=4;
		class Innter{
			void function(){
				System.out.println(y+"--"+x);
			}
		}
		new Innter().function();
	}
	public static void main(String[] args) {
		new Outer().method(); 
	}
}
3.익명 내부 클래스
1 익명 내부 클래스는 내부 클래스의 약자 형식입니다
2. 익명 내부 클래스를 쓰는 전제는 내부 클래스가 반드시 계승되거나 인터페이스를 실현해야 한다는 것이다.
3. 익명 내부 클래스 쓰기 형식: new 부모 클래스나 인터페이스 () {하위 클래스를 정의하는 내용}

좋은 웹페이지 즐겨찾기