Skip to content

Instantly share code, notes, and snippets.

@jayjaykim
Created September 11, 2016 13:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jayjaykim/fd276da9f3ec9746ff41f47909bb2e57 to your computer and use it in GitHub Desktop.
Save jayjaykim/fd276da9f3ec9746ff41f47909bb2e57 to your computer and use it in GitHub Desktop.
AnonymousClassComparison
/**
* 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