JAVA 익명클래스

2020. 5. 31. 00:07· dev/자바

한번쓰고 버려질 클래스가 존재 할때.. 굳이 클래스를 만들어서 사용하지 말고..

익명 클래스로 사용하라..

 

1. 일반클래스 사용

2. 익명클래스 사용

3. 익명클래스는 멤버필드와 메소드를 익명클래스 밖에서는 사용할수 없다.

4. 익명클래스 매개변수 전달방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package anonymousTst;
 
public class Sports {
    
    void ball() {
        System.out.println("볼");
    }
    
    //익명클래스 매개변수 tst
    public static void ball(Sports s) {
        s.ball();
    }
}
 
public class Football extends Sports {
    
    @Override
    void ball() {
        super.ball();
    }
}
 
public class Basketball {
    void ball() {
        System.out.println("축구공");
    }
}
Colored by Color Scripter
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
public class Main {
    public static void main(String[] args) {
        
        //1. 일반클래스 사용
        Football s1 = new Football();
        s1.ball();
        
        //2. 익명클래스 사용
        Football s2 = new Football() {
            @Override
            void ball() {
                // TODO Auto-generated method stub
                System.out.println("익명클래스 볼");
            }
        };
        s2.ball();
        
        //3. 익명클래스는 멤버필드와 메소드를 익명클래스 밖에서는 사용할수 없다.
        Football s3 = new Football() {
            
            public String abc = "abc";
            
            @Override
            void ball() {
                // TODO Auto-generated method stub
                System.out.println("익명클래스 볼");
            }
            
            void ball2() {
                // TODO Auto-generated method stub
                System.out.println("익명클래스 볼2");
            }
        };
        //s3.ball2(); //에러
        //System.out.println( s3.abc );  //에러
        
        
        //4. 익명클래스 매개변수 전달
        Sports.ball(new Sports() {
            @Override
            void ball() {
                // TODO Auto-generated method stub
                System.out.println("매개변수로 넘어온 볼");
            }
        });
 
    }
}
Colored by Color Scripter
cs

5. 인터페이스 익명클래스에서 사용 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//인터페이스 
public interface Baseball {
    public void grobe();
    public void cap();
}
 
public class Baseball2 {
    //인터페이스를 선언해서 익명클래스로 사용
    Baseball b1 = new Baseball() {
        @Override
        public void grobe() {
            // TODO Auto-generated method stub
            System.out.println("야구글로브");
        }
        @Override
        public void cap() {
            // TODO Auto-generated method stub
            System.out.println("야구모자");
        }
    };
}
Colored by Color Scripter
cs

 

1
2
3
4
5
6
7
8
9
public class Main {
    public static void main(String[] args) {
        
        //5. 인터페이스 익명클래스에서 사용 
        Baseball2 s4 = new Baseball2();
        s4.b1.cap();
        s4.b1.grobe();
    }
}
Colored by Color Scripter
cs

'dev > 자바' 카테고리의 다른 글

[자바] Eclipse 에서 DCEVM 사용하기(서버재구동안하기.)  (0) 2021.02.19
JRABEL 라이센스발급, 설치  (0) 2021.01.11
xss (cross site scriptiong) 처리  (0) 2021.01.08
JAVA try-with-resources문  (0) 2020.05.31
[JNDI] eclipse에서 jndi 설정테스트  (0) 2014.11.20
'dev/자바' 카테고리의 다른 글
  • JRABEL 라이센스발급, 설치
  • xss (cross site scriptiong) 처리
  • JAVA try-with-resources문
  • [JNDI] eclipse에서 jndi 설정테스트
아디봉
아디봉
내인생의 카드는 몇장일까?
아디봉
내이른
아디봉
전체
오늘
어제
  • 분류 전체보기 (81)
    • 경제적자유 (11)
      • 경제노트 (4)
      • 부동산노트 (3)
      • 책리뷰 (1)
      • 유튜브 (2)
    • dev (50)
      • 사이드프로젝트 (0)
      • JavaScript (7)
      • 스프링 (5)
      • 자바 (11)
      • docker (7)
      • tdd (0)
      • DB (2)
      • mongoDB (1)
      • python (1)
      • react (9)
      • 인증.권한 (1)
      • 기타 (5)
      • HTTP (0)
      • JSP (1)
    • life (9)
      • 백패킹 (3)
      • 자기개발 (6)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • Eclipse
  • Oracle
  • Java
  • docker
  • React
  • 자바
  • react 이벤트
  • Object
  • 자바스크립트
  • 롬복
  • 스프링데이터jpa
  • Java8
  • jstree
  • log4j
  • Cookie
  • 옵셔널
  • javascript
  • 객체
  • 쿠키
  • 파코기
  • Lombok
  • javascript jsTree
  • Maven
  • logback
  • optional
  • 정다르크
  • 파란코끼리들의기적
  • 백패킹
  • web
  • function

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
아디봉
JAVA 익명클래스
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.