나는 android와 java에 익숙하지 않은데 왜 안드로이드에서 "this"키워드가 "super"가 아닌 가끔 사용되는지 이해하려고 머리를 터지게하지는 않습니까?android에서의 this와 super 키워드 사용법
"this"또는 "super"키워드없이 부모 메서드를 어떻게 호출 할 수 있습니까? 예를 들어
우리가
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
this.startActivity(intent);
}
우리는 그 위의 예에서 MainActivety 클래스는이 방법이 어떻게
public void setContentView(int layoutResID) {
this.getDelegate().setContentView(layoutResID);
}
로 ActionBarActivity에 정의되어 실제로 된 setContentView 방법이없는 볼 수 있습니다 말할 수 우리는 "이"또는 "최고"없이 그것을 부를 수 있습니까?
"this"infront는 부모 클래스에 정의되어 있지만 "this"키워드는 현재 범위/클래스를 의미합니다.
하위 유형의 표현식은 항상 액세스 가능한 4 퍼 유형 메소드에 액세스 할 수 있습니다. –
먼저 Java 설명서 (https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html, https://docs.oracle.com/javase/tutorial/java/)를 살펴보십시오. IandI/super.html – Tyler
또한 상속인 인 https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html – lucasvw