Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 何时在匿名类内创建方法_Java_Android_Class_Onclicklistener_Protected - Fatal编程技术网

Java 何时在匿名类内创建方法

Java 何时在匿名类内创建方法,java,android,class,onclicklistener,protected,Java,Android,Class,Onclicklistener,Protected,在下面的代码中,我创建了按钮侦听器,当我尝试在()上创建方法时,eclipse建议将其创建为OnClickListener的一部分或main类的一部分 在这两种情况下,在()上创建方法on有什么区别,为什么应该对其进行保护 代码: private OnClickListener btnListenerOn = new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-

在下面的代码中,我创建了按钮侦听器,当我尝试在()上创建方法时,eclipse建议将其创建为
OnClickListener
的一部分或main类的一部分

在这两种情况下,在()上创建方法
on
有什么区别,为什么应该对其进行
保护

代码

private OnClickListener btnListenerOn = new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        on();
    }
};
@Override
protected void onStart() {
    // TODO Auto-generated method stub
    super.onStart();
    Log.w(TAG, "@onStart.");
}

protected void on() {
    // TODO Auto-generated method stub

}
是一个概念,应该给你一个放置方法的线索。封装有助于将实现细节隐藏到最有限的范围内,以便(例如)在需要更改实现时可以防止

在您的情况下,由于您可能不需要从
OnClickListener
以外的任何其他位置调用
on()
方法,因此这是放置它的正确位置

在这种情况下,
on()
方法应该是私有的,因为您永远不会扩展匿名
OnClickListener
类。如果您的侦听器不是匿名的,您可能希望声明该方法受保护,以便可以重写子类中的实现。

这一概念应该为您提供放置该方法的线索。封装有助于将实现细节隐藏到最有限的范围内,以便(例如)在需要更改实现时可以防止

在您的情况下,由于您可能不需要从
OnClickListener
以外的任何其他位置调用
on()
方法,因此这是放置它的正确位置

在这种情况下,
on()
方法应该是私有的,因为您永远不会扩展匿名
OnClickListener
类。如果您的侦听器不是匿名的,您可能希望声明该方法受保护,以便可以重写子类中的实现。

这一概念应该为您提供放置该方法的线索。封装有助于将实现细节隐藏到最有限的范围内,以便(例如)在需要更改实现时可以防止

在您的情况下,由于您可能不需要从
OnClickListener
以外的任何其他位置调用
on()
方法,因此这是放置它的正确位置

在这种情况下,
on()
方法应该是私有的,因为您永远不会扩展匿名
OnClickListener
类。如果您的侦听器不是匿名的,您可能希望声明该方法受保护,以便可以重写子类中的实现。

这一概念应该为您提供放置该方法的线索。封装有助于将实现细节隐藏到最有限的范围内,以便(例如)在需要更改实现时可以防止

在您的情况下,由于您可能不需要从
OnClickListener
以外的任何其他位置调用
on()
方法,因此这是放置它的正确位置

在这种情况下,
on()
方法应该是私有的,因为您永远不会扩展匿名
OnClickListener
类。如果您的侦听器不是匿名的,您可能希望声明受保护的方法,以便可以重写子类中的实现