首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java -被每个文件一个类的规则弄糊涂了

Java -被每个文件一个类的规则弄糊涂了
EN

Stack Overflow用户
提问于 2010-12-26 04:42:48
回答 2查看 1.9K关注 0票数 3

Java中的每个文件一个类的规则让我有点困惑。我编写了一个Android应用程序,并试图实现这个问题的公认答案:

Common class for AsyncTask in Android?

它调用一个接口定义,类A实现该接口定义,而类B接受该接口定义作为其构造函数的参数。

所以我需要一个A.java和一个B.java,但是接口在哪里呢?它本身是否需要一个单独的java文件?我必须同时在A和B中定义它吗?如果不是,怎么导入呢?

此外,我将有大约10个不同的AsyncTask类,但我不想为每个类创建一个新文件。你有什么推荐的?有没有办法把所有10个类都放在一个文件里?或者我应该在类中创建一个很大的if/then块,并传递一个参数来告诉它我想让它完成10个不同任务中的哪一个?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-26 04:45:58

您必须将其放在AsyncTaskCompleteListener.java中。如果它在同一个包中,则不需要导入它。如果在不同的包中,可以使用import语句导入它。

我建议在进一步阅读之前先阅读java tutorial

至于10+类-您可以在另一个类中使用public static class。这是可行的,但是每个类都有一个文件,这是您应该习惯的--这是首选的选项。仅当内部类与其所属类存在逻辑关联时,才使用内部静态类。

票数 2
EN

Stack Overflow用户

发布于 2010-12-26 04:49:21

接口在哪里?它本身是否需要一个单独的java文件?

是。您可以将接口和/或其中一个类设置为非公共的,但这样就不能在包之外使用它们。

我还将有大约10个不同的AsyncTask类,但我不想为每个类创建一个新文件。

为什么不行?在Java中,每个文件都有一个类或接口是通常的做法。我建议接受这个约定,因为试图违背它会给你带来无穷无尽的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4531617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档