171113 AnonymousClass - RYUDONGJIN/Memo_wiki GitHub Wiki

AnonymousClass

  • 읡λͺ… λ‚΄λΆ€ν΄λž˜μŠ€
public class practice  {
    
	public static void main(String[] args) {

		OuterClass oc = new OuterClass("First");
		Readable lc = oc.create(1);
		lc.read();
		
		OuterClass oc2 = new OuterClass("Second");
		Readable lc2 = oc2.create(2);
		lc2.read();	
	}	
}

class OuterClass {
	
	private String name;
	
	public OuterClass(String name) {
		this.name = name;
	}
	
	public Readable create(final int instID) {
		return new Readable() {
			@Override
			public void read() {
				System.out.println("Outer inst name: " + name);
				System.out.println("Local inst ID: " + instID);
			}
		};
	}
}

interface Readable {
	public void read();
}