繁体   English   中英

需要澄清有关创建对象,函数及其参数的信息

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM