[英]Need clarification about creating object, function and their arguments
我正在学习android开发。 我对此有基本的新手理解。 而且我很难理解这些代码:-
范例1。
requestPublishPermissionsButton.addListener(new InputListener() {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
return true;
}
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
loginWithPublishPermissions();
}
});
范例2。
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
}
};
我知道在两个示例中都使用InputListner类(在示例1中)和Handler类(在示例2中)创建了新对象,并且没有传递参数。 但是“ {”“}”之间是什么,是类的行为或构造函数还是其他 ?
它是一个接口。
这是一个链接 ,因此您可以了解更多有关它们的信息。
这是用于同时创建一个类(仅在此位置使用)和该类的实例的简写形式。
让我们来看示例2(与示例1类似)。
处理程序是一类,具有至少一个方法public void handleMessage(Message msg)
(或需要此方法的接口)。
该示例做了两件事:
在编译时,它将创建一个扩展Handler类(或实现Handler接口)的匿名类,并提供handleMessage()
方法的给定实现。
在运行时,它将创建此匿名类的实例。
备注
您大概想更改handleMessage()
方法的主体。 如果实现仅调用super.handleMessage(msg)
,则整个构造都是胡说八道,因为匿名类显示出与超类完全相同的行为,因此,一个简单的Handler Handler = new Handler();
完全一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.