为什么不使用所有进口?

时间:2016-09-05 09:12:38

标签: java class package

我知道我可以导入包并访问许多已编码的类,我可以使用它们来制作我的程序。但是,如果它们允许您访问许多不同的功能,为什么不直接导入它们呢?我知道有成千上万的进口产品,我知道这样做是不常见的(我不知道有谁这样做,但也许我错了)但是为什么人们不只是将它们全部导入?它会让程序太慢吗?或者效率低下?我只是好奇。感谢。

3 个答案:

答案 0 :(得分:5)

除了我能想到的速度之外还有几个原因:

  1. 查看导入列表可以快速显示正在阅读文件的人正在使用的内容。如果您导入所有内容,则会失去该能力
  2. 会有名称冲突,会导致错误。有关示例,请参阅this question
  3. 现代IDE使按需导入包非常容易,因此无需提前导入所有内容

答案 1 :(得分:2)

导入所有包裹;

  1. 减慢你的程序,因为它保持每个包的所有类,函数等活着(=易于访问)
  2. 在使用相同命名空间(即相同的函数名称等)的包之间创建冲突,或至少使最后加载的一个可用并使之前的那些被屏蔽
  3. 每次重启程序时都要花很多时间
  4. 使用大量内存
  5. 因上述原因容易受到撞击
  6. 此列表可以扩展。

答案 2 :(得分:1)

它使您的代码无法读取,因为正在阅读的人并没有看到您的意图。请记住:"代码写入一次,两次可能更多,但有数百次读取。示例:

在Android SDK中,有些名称相同的类,但它们来自不同的包。我认为这是GPS定位经理或其他什么。 无论如何......其他程序员可能会遇到困难,因为他需要思考或手动检查您使用的是哪种导入。

我不是高级程序员,但我猜测输出程序可能会更大。