Created
September 11, 2016 13:52
-
-
Save jayjaykim/fd276da9f3ec9746ff41f47909bb2e57 to your computer and use it in GitHub Desktop.
AnonymousClassComparison
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Created by jayjay on 2016. 9. 11.. | |
*/ | |
public class TestInterface { | |
String msg; | |
int number; | |
float floatNumber; | |
public interface ClickListener { | |
void onClick(); | |
} | |
public static class Button { | |
ClickListener listener; | |
public void setListener(ClickListener listener) { | |
this.listener = listener; | |
} | |
public void onClicked() { | |
if(listener != null) { | |
listener.onClick(); | |
} | |
} | |
} | |
public void method() { | |
ClickListener listenerA1 = new Button1ClickListenr(); | |
ClickListener listenerA2 = new Button2ClickListenr(); | |
ClickListener listenerA3 = new Button3ClickListenr(); | |
Button button1 = new Button(); | |
Button button2 = new Button(); | |
Button button3 = new Button(); | |
button1.setListener(listenerA1); | |
button2.setListener(listenerA2); | |
button3.setListener(listenerA3); | |
button1.setListener(new ClickListener() { | |
@Override | |
public void onClick() { | |
msg = "Hi"; | |
number = 2; | |
floatNumber = 3; | |
System.out.println("button1 clicked"); | |
} | |
}); | |
button2.setListener(new ClickListener() { | |
@Override | |
public void onClick() { | |
msg = "Hibbb"; | |
number = 3; | |
floatNumber = 4; | |
System.out.println("button2 clicked"); | |
} | |
}); | |
button3.setListener(new ClickListener() { | |
@Override | |
public void onClick() { | |
msg = "Hiaaaa"; | |
number = 5; | |
floatNumber = 1; | |
System.out.println("button3 clicked"); | |
} | |
}); | |
button1.onClicked(); | |
button2.onClicked(); | |
button3.onClicked(); | |
// // TestInterface$1 . | |
// ClickListener listener1 = new ClickListener() { | |
// @Override | |
// public void onClick() { | |
// | |
// } | |
// }; | |
// | |
// ClickListener listener2 = new ClickListener() { | |
// @Override | |
// public void onClick() { | |
// msg = "Hi"; | |
// number = 1; | |
// floatNumber = 1; | |
// } | |
// }; | |
// | |
// ClickListener listener3 = new ClickListener() { | |
// @Override | |
// public void onClick() { | |
// msg = "Hi"; | |
// number = 1; | |
// floatNumber = 1; | |
// } | |
// }; | |
// | |
// | |
// | |
// AbstractClass abstractClass = new AbstractClass() { | |
// @Override | |
// void method() { | |
// | |
// } | |
// }; | |
} | |
public static void main(String[] args) { | |
TestInterface testInterface = new TestInterface(); | |
testInterface.method(); | |
} | |
public abstract class AbstractClass { | |
abstract void method(); | |
} | |
// Impl : Implementation. | |
public class Button1ClickListenr implements ClickListener { | |
@Override | |
public void onClick() { | |
msg = "Hi"; | |
number = 2; | |
floatNumber = 3; | |
} | |
} | |
public class Button2ClickListenr implements ClickListener { | |
@Override | |
public void onClick() { | |
msg = "Hibbb"; | |
number = 3; | |
floatNumber = 4; | |
} | |
} | |
public class Button3ClickListenr implements ClickListener { | |
@Override | |
public void onClick() { | |
msg = "Hiaaaa"; | |
number = 5; | |
floatNumber = 1; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment