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