在实现接口(java)的类中,“this”关键字是什么意思?它是如何作为接口发送的?
在这个类中有两个this关键字 一个用作上下文 另一个用作接口 这两种方法是如何理解的在实现接口(java)的类中,“this”关键字是什么意思?它是如何作为接口发送的?,java,interface,parameter-passing,Java,Interface,Parameter Passing,在这个类中有两个this关键字 一个用作上下文 另一个用作接口 这两种方法是如何理解的 public class LoginActivity extends Activity implements LoginaView, View.OnClickListener { private ProgressBar progressBar; private EditText username; private EditText password; private LoginPresenter pres
public class LoginActivity extends Activity implements LoginaView, View.OnClickListener {
private ProgressBar progressBar;
private EditText username;
private EditText password;
private LoginPresenter presenter;
/**
* LoginActivity Overriden Methods
* */
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
progressBar = (ProgressBar) findViewById(R.id.progress);
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
findViewById(R.id.button).setOnClickListener(this);
presenter = new LoginPresenterImpl(this,new LoginInteractorImpl());
}
@Override protected void onDestroy() {
presenter.onDestroy();
super.onDestroy();
}
/**
* View.OnClickListener Overriden Methods
* */
@Override public void onClick(View v) {
presenter.validateCredentials(username.getText().toString(), password.getText().toString());
}
/**
* LoginaView Overriden Methods
* */
@Override public void showProgress() {
progressBar.setVisibility(View.VISIBLE);
}
@Override public void hideProgress() {
progressBar.setVisibility(View.GONE);
}
@Override public void setUsernameError() {
username.setError(getString(R.string.username_error));
}
@Override public void setPasswordError() {
password.setError(getString(R.string.password_error));
}
@Override
public void setOnUserNamePassWrong() {
Toast.makeText(getBaseContext(),getString(R.string.username_or_pass_wrong),Toast.LENGTH_LONG).show();
}
@Override public void navigateToHome() {
startActivity(new Intent(this, MainActivity.class));
finish();}}
它是如何作为上下文和接口发送的?这是java中引用当前对象的引用对象。在您的例子中,它指的是类LoginActivity的对象 编辑: 我想补充一点,如果一个类实现了一个接口,那么可以使用接口的引用来引用该类的对象。更具体地说,假设我有一个名为“MyInterface”的接口
现在让类“MyClass”实现“MyInterface”。现在,如果存在一个接受“MyInterface”类型引用的方法,那么我可以毫无问题地传递“MyClass”对象。thx以获取响应。我的困惑在于这行presenter=new LoginPresentImplThis,new LoginInteractorImpl;这是作为LoginView界面发送的,该界面用于对要实施的活动进行编辑,以便更好地理解。这是我的想法,但我对此不确定。谢谢您的明确回答@Ashutosh