【问题标题】:When is it appropriate to import packages?什么时候适合导入包?
【发布时间】:2012-06-22 16:00:35
【问题描述】:

注意:我意识到这可能是一个开放式问题,所以如果你觉得这不属于或没有价值,请继续标记删除。

我已经很长时间没有使用 Java(或真正的编程)了,我的大部分时间都花在了学习实际应用程序(特别是 Android)上。因此,我意识到我在概念问题上非常落后。

我的问题是:什么时候使用import 'package name'; 语句而不是简单地使用完全限定的类名是合适的?

我看过示例代码,其中编码人员决定使用 android.widget.Button 与调用 import android.widget.Button 并在之后的每个实例中使用 Button。我目前正在编写代码,我知道我只会使用某个类一次,我觉得使用 import 语句是一种浪费。

任何关于何时应该使用import 语句与使用完全限定名称的指南将不胜感激。我不是在寻找一个明确的答案,只是一些有用的提示。

【问题讨论】:

  • 如果您使用 Eclipse,请执行以下操作:“CTRL”+“SHIFT”+“O”将解决您所有的问题;)
  • 另外,这是与this 不同的问题。我问的是一般使用import 语句与使用完全限定名称(例如android.view.Button btn = ...)。

标签: java import


【解决方案1】:

始终使用导入,没有理由不使用,您将获得更简洁的代码。

【讨论】:

  • 精英绅士没有回答被问到的问题。问题不在于他是否应该使用通配符,而在于他是否应该使用 import 而不是在他的代码中使用完全限定的名称。
  • @mbwasi,问题是Any guidelines on when I should be using an import statement vs. using a fully qualified name would be much appreciated,我确实回答了这个问题(OP 询问,何时他/应该使用import 语句与使用完全限定名称)。
  • @TheEliteGentleman 好的,他们按照我阅读您的回答的方式,您似乎在谈论在导入语句本身中是否使用通配符,这就是我理解的方式。
  • 我指的是您按照 Samir Mangroliya 的方式编辑的答案
【解决方案2】:

解决方案很简单:如果您有多个Button 类(显然,每个类都在自己的包中)必须same 类中使用,然后使用完全限定名称。否则,请导入您需要的唯一 Button 类。

通常,包导入是首选,因为它会带来更简洁的代码,并且它使编译器知道要预先编译哪个类(包)。

【讨论】:

  • 它对JVM也有影响吗?我认为这只是语法糖。能发个链接吗?
【解决方案3】:

使用import 是为了方便。在代码中只使用类名更好的可读性(而且要输入的字符也更少!;-))

此外,工具(如 Eclipse)将为您组织导入,并仅根据类名提出要从中导入的包。

关于在代码中使用完全限定的类名 - 如果你在类名上有 clash (例如, my.components.Buttonandroid.widget.Button) 类,你需要在代码中明确指出你在哪里使用哪个类。但是,即使在这种情况下,您也可以导入其中一个类(更常用的一个)并显式键入另一个。

【讨论】:

    【解决方案4】:

    嗯,有三个明显的原因。

    1. 它使您的代码简洁明了。
    2. 如果您在一个包中使用多个类,那么导入整个包是有意义的。
    3. 您的导入语句是类的元数据,它声明类对外部世界的依赖关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-13
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-28
      • 2010-11-05
      • 2019-09-17
      相关资源
      最近更新 更多