728x90
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 49 50 51 52 53 54 55 56 57 58 59 | interface Readable { public void read(); } class OuterClass { private String name; OuterClass(String name) { this.name = name; } public String getString(){ String str = ""; return str; } public double test() { int i = 10; return i; } //반환형식 : Readable public Readable createLocalClassInst() { //메서드 내에 존재하는 LocalClass class LocalClass implements Readable { public void read() { System.out.println("name : " + name); } } return new LocalClass(); } //익명의 로컬 클래스 public Readable createLocalClassInst2(final int val){ return new Readable() { public void read() { System.out.println("name : " + name); System.out.println("Local val : " + val); } }; } } public class LocalMain { public static void main(String[] args) { OuterClass oc = new OuterClass("첫 번째"); //인터페이스의 참조변수 사용 Readable r = oc.createLocalClassInst(); r.read(); OuterClass oc2 = new OuterClass("두 번째"); //인터페이스의 참조변수 사용 Readable r2 = oc2.createLocalClassInst(); r2.read(); OuterClass oc3 = new OuterClass("세 번째"); Readable r3 = oc3.createLocalClassInst2(123); r3.read(); OuterClass oc4 = new OuterClass("네 번째"); Readable r4 = oc4.createLocalClassInst2(456); r4.read(); } } | cs |
반응형
'SKILL > JAVA' 카테고리의 다른 글
자바 Final 키워드 핵심 예제 (0) | 2017.12.14 |
---|---|
자바 static 예제 (0) | 2017.12.14 |
자바 내부 클래스 기본예제 (0) | 2017.12.14 |
자바 인터페이스 개념 예제 (0) | 2017.12.14 |
자바 싱글톤 패턴 기본 개념 예제 (0) | 2017.12.14 |