기록장
익명 클래스 본문
728x90
package sec02.exam01;
public class AnonymousExample {
public static void main(String[] args) {
Anonymous anony = new Anonymous();
//익명 객체 필드 사용
anony.field.wake();
//익명 객체 로컬 변수 사용
anony.method1();
//익명 객체 매개값 사용
anony.method2(
new Person() {
void study() {
System.out.println("공부합니다");
}
@Override
void wake() {
System.out.println("8시에 일어닙나디");
study();
}
}
);
}
}
package sec02.exam01;
public class Person {
void wake() {
System.out.println("7사에 일어납니다");
}
}
익명 클래스
이름이 없는 일회용 클래스, 정의와 생성을 동시에
이름이 없으니 조상이름을 대신 쓴다
package sec02.exam01;
public class Anonymous {
//필드 초기값으로 대입
Person field = new Person() {
void work() {
System.out.println("출근합니다");
}
@Override
void wake() {
System.out.println("6시에 일어납니다");
work();
}
};
void method1() {
//로컬 변수값으로 대입
Person localVar = new Person() {
void walk() {
System.out.println("산책합니다");
}
@Override
void wake() {
System.out.println("7시에 일어납니다");
walk();
}
};
//로컬변수사용
localVar.wake();
}
void method2(Person person) {
person.wake();
}
}
728x90
'Programming > JAVA' 카테고리의 다른 글
이스케이프 문자/Math (0) | 2022.12.19 |
---|---|
생성자 (0) | 2022.11.26 |
필드의 다양성 코드 짜봄 (0) | 2022.05.22 |
인터페이스 (0) | 2022.05.22 |
추상클래스 코드 (0) | 2022.05.22 |
Comments