为什么';这';可以在Java中用作参数吗?

为什么';这';可以在Java中用作参数吗?,java,android,Java,Android,上面的代码来自一个Android项目,下面的函数参数设置为“this”,为什么 public class Activity01 extends Activity implements OnClickListener, ViewFactory { ... @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(save

上面的代码来自一个Android项目,下面的函数参数设置为“this”,为什么

public class Activity01 extends Activity implements OnClickListener,
        ViewFactory {
        ...
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            LinearLayout main_view = new LinearLayout(this);
            m_Switcher = new ImageSwitcher(this);
            main_view.addView(m_Switcher);
            m_Switcher.setId(SWITCHER_ID);
            m_Switcher.setFactory(this);
            m_Switcher.setOnClickListener(this);
            setContentView(main_view);
            ...
        }

        public void onClick(View v) {
            ...
        }
    }
根据javadoc,这里应该如下所示:

m_Switcher.setOnClickListener(this);
这意味着参数应该是这样的:
View.OnClickListener

那么为什么“这个”会出现呢?谢谢


注意:根据答案,我在上面给出了一个更完整的代码。

在类声明中,您会发现它是
扩展的
实现的
OnClickListener
。这意味着该类可以用作
OnClickListener
(因为它是其中之一)。这就是为什么您可以在这里使用this

在类声明中,您会发现它扩展了
实现了
OnClickListener
。这意味着该类可以用作
OnClickListener
(因为它是其中之一)。这就是为什么您可以在这里使用this

该类是否实现了
OnClickListener
?如果是的话,这就是你的答案。这个类是否实现了
OnClickListener
?如果是的话,这就是你的答案。所以你非常熟悉这种代码。是的,你完全正确。这是最好的答案。还需要说明的是,当点击
m\u切换器时
Activity01。onClick(View v)
将调用
v
并将
m\u切换器设置为
m\u切换器
。因此您对此类代码非常熟悉。是的,你完全正确。这是最好的答案。还需要说明的是,当单击
m\u切换器时,
m\u切换器
将被调用
m\u切换器
public void setOnClickListener (View.OnClickListener l)