- 객체생성방법
Step#1. 외부클래스 객체 생성
Step#2. 내부클래스 객체 생성
외부클래스 a = new 외부클래스();
외부클래스.내부클래스 b = 외부클래스객체.new 내부클래스();
A a = new A();
A.B b = a.new B();
b.bcd();
class A {
int a = 3 , b = 4;
void abc() {
System.out.println("A 클래스 메서드");
}
class B {
int a = 5, b = 6;
void abc() {
System.out.println("B 클래스 메서드");
}
void bcd() {
// #1. outer class 필드/메서드 사용
System.out.println(a);
System.out.println(b);
abc();
// #2. outer class 필드/메서드 사용
System.out.println(A.this.a);
System.out.println(B.this.b);
A.this.abc();
}
}
}-특징 : 외부 클래스의 static 멤버만 접근가능 (static의 특징)
생성클래스명 : A.class, A$B.class
객체생성방법
Step#1. 내부클래스 생성자로 직접 객체 생성
외부클래스.내부클래스 a = new 외부클래스.내부클래스();
-특징 :
생성클래스명 : A.class, A$1B.class