Java中每个文件规则的一个类让我有点困惑。我正在编写一个Android应用程序,并试图实现这个问题的接受答案:
Common class for AsyncTask in Android?
调用接口定义,类A实现,类B接受作为其构造函数的参数。
所以我需要一个A.java和一个B.java,但界面在哪里?它本身需要一个单独的java文件吗?我是否必须在A和B内定义它?如果不是如何导入它?
此外,我将有大约10个不同的AsyncTask类,但我不想为每个类创建一个新文件。你会推荐什么?有没有办法将所有10个类放在一个文件中?或者我应该在类中创建一个大的if / then块并传递一个参数,告诉它我想要它执行的10个不同任务中的哪一个?
答案 0 :(得分:2)
您必须将其放在AsyncTaskCompleteListener.java
中。如果它在同一个包中,则无需导入它。如果在不同的包中,您可以使用import
语句导入它。
我建议在继续之前阅读java tutorial。
对于10多个类 - 您可以在另一个类中使用public static class
。这可行,但每个类都有一个文件是你应该习惯的 - 这是首选的选项。仅当内部类与其拥有的类存在逻辑关联时,才使用内部静态类。
答案 1 :(得分:2)
界面在哪里?可以 需要一个单独的java文件吗?
是。您可以使接口和/或其中一个类非公开,但是您无法在包外使用它们。
此外,我将有大约10种不同 AsyncTask类,但我不想 打扰为每个人创建一个新文件 之一。
为什么不呢?每个文件有一个类或接口是通常在Java中完成的。我建议接受这个惯例,因为试图反对它将导致你无休止的问题。