我正在学习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中)中没有参数传递的新对象的创建。但是“{”“}之间是什么,是类的行为或构造函数还是其他什么?
答案 0 :(得分:0)
这是一个界面。
这是一个link,因此您可以了解有关它们的更多信息。
答案 1 :(得分:0)
这是创建类(仅在此处使用)和该类的实例同时的简写表示法。
我们以示例2为例(类似于示例1)。
Handler是一个至少有一个方法public void handleMessage(Message msg)
的类(或者需要这种方法的接口)。
这个例子做了两件事:
在编译时,它会创建一个扩展Handler类(或实现Handler接口)的匿名类,并提供handleMessage()
方法的给定实现。
在运行时,它会创建此匿名类的实例。
说明
你可以想要改变handleMessage()
方法的主体。如果实现只调用super.handleMessage(msg)
,则整个构造是无意义的,因为匿名类显示与超类完全相同的行为,因此简单的Handler Handler = new Handler();
完全相同。