나는 this
이라는 키워드가 현재 객체에 대한 참조임을 알고 있지만 안드로이드 애플리케이션에서 여러 인터페이스를 구현할 때 혼란 스럽습니다.Android에서 다중 인터페이스를 구현할 때 "this"키워드가
Ex. 다음과 같이 새 Button
을 만듭니다.
public class Example extends Activity implements View.OnClickListener, View.OnTouchListener {
@Override
...
// override OnClick and OnTouch
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 'this' refer to context in Activity
Button button = new Button(this);
// 'this' refer to OnClickListener
button.setOnClickListener(this);
// 'this' refer to OnTouchListener
button.setOnTouchListener(this);
}
}
프로그램에서 어떤 개체를 참조해야하는지 어떻게 알 수 있습니까?
OnClickListener
대신 new Button
을 만들 때 프로그램에서 알고있는 활동을 매개 변수로 전달해야합니까?
감사합니다.
'this'는 현재 개체를 나타냅니다. 그처럼 간단합니다. 확장/구현하는 각 유형마다 다른 객체가 없습니다. 모든 유형을 확장/구현하는 단일 객체가 있습니다. – awksp
각 경우에 이것은 여전히 현재 오브젝트입니다. implements 키워드는이 객체가 특정 메소드 호출에 응답 할 것이라고 말합니다. – panini
좋은 질문이지만 실제로는 명확하지 않습니다. –