Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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 如何使接口扩展ActionBarActivity_Java_Android_Interface - Fatal编程技术网

Java 如何使接口扩展ActionBarActivity

Java 如何使接口扩展ActionBarActivity,java,android,interface,Java,Android,Interface,我正在制作一个需要大量编码的应用程序,所以我想让它有条理。这在过去是通过扩展多个类直到最后添加ActionBarActivity来实现的,但是这可能会变得复杂。我听说了接口,想尝试一下。如何在我的接口中创建一个我可以从代码中的任何地方调用的方法。当我创建一个接口并扩展ActionBarActivity时,它会给我一个错误,说“这里需要接口” } 接口只能扩展另一个接口。它不能扩展抽象或具体类 public interface MySuperInterface { } public interf

我正在制作一个需要大量编码的应用程序,所以我想让它有条理。这在过去是通过扩展多个类直到最后添加ActionBarActivity来实现的,但是这可能会变得复杂。我听说了接口,想尝试一下。如何在我的接口中创建一个我可以从代码中的任何地方调用的方法。当我创建一个接口并扩展ActionBarActivity时,它会给我一个错误,说“这里需要接口”

}


接口只能扩展另一个接口。它不能扩展抽象或具体类

public interface MySuperInterface {
}

public interface MyInterface extends MySuperInterface {
}

但是在这种情况下使用接口不会使代码更易于维护。尝试重新建模您的类,将它们的职责分开,并且总是更喜欢组合而不是继承。

Java接口不扩展类,它们只扩展有意义的接口,因为类有实现,而接口只有声明


在您的场景中,如果您扩展ActionBarActivity,您必须实现其抽象功能,显然您不能在接口中实现。这就是为什么它不允许您扩展类的原因

您所说的“从代码中的任何地方调用”是什么意思?请注意,接口是与类的契约。实现它时,必须为接口中定义的任何方法提供实现。阅读如何使用接口组织代码。通过从任何地方调用它,我的意思是我希望能够从片段调用它。当我们没有看到您的代码时,我们如何帮助您组织代码?@Marcelo Keiti,谢谢
public class scoutingFragment extends Fragment {
public static scoutingFragment newInstance()
{
    scoutingFragment fragment = new scoutingFragment();
    return fragment;
}
public scoutingFragment()
{

}
public View onCreateView(LayoutInflater inflater, ViewGroup container , Bundle savedInstanceState)
{
    View rootView = inflater.inflate(R.layout.scouting,container,false);
    return rootView;
}
public void onAttach(Activity activity){
    super.onAttach(activity);
    ((MainActivity)activity).onSectionAttached(0);
}
public interface MySuperInterface {
}

public interface MyInterface extends MySuperInterface {
}