0

我将“内联声明”放在标题中的引号中,因为我的部分问题是我不知道该怎么称呼它。我对 Java 和一般编程非常陌生,所以“内联声明”这个短语是我能描述的最接近谷歌或其他搜索引擎的内容,我还没有找到任何答案。据我所知,它根本不是“声明”(尽管我认为是,因为我查找了声明、实例化和初始化之间的区别)。希望我能更好地解释我在这里的意思。

我的意思是:如果我在 Java 中声明一个对象,然后分别对其进行初始化,如下所示:

    BufferedImage buffImg;
    buffImg = ImageIO.read("MyImage.jpg");

然后 Eclipse 会将对象名称(本例中为 buffImg)转为特殊颜色,将其添加到 Outline 中,一般将其视为对象。它可以对关键字、字符串、评论做同样的事情......你明白了。

但是如果我做一个“内联声明”,我在一行上声明、实例化和初始化对象,如下所示:

    BufferedImage buffImg = ImageIO.read("MyImage.jpg");

然后 Eclipse 不会把它变成那种特殊的颜色,不会将它添加到大纲中,并且通常将它视为任何随机的、非特殊的单词,但有一个例外:代码突出显示仍会在整个代码中挑选出该单词的所有实例.

那么,我的问题是:

  1. 你把这种“all-on-one-line”的声明叫做什么,这样我就知道以后在谷歌里放什么词了?
  2. 如何让 Eclipse 识别它?

谢谢!

4

2 回答 2

1

1.- 单语句声明和初始化没有特殊的词,是java中常用的变量初始化方式。

2.-我认为您的困惑可能来自字段和局部变量。尽管您使用了初始化类型,但 Eclipse 会突出显示字段,而局部变量则不会。此外,字段始终显示在大纲中,而局部变量则不显示。

关于在 Eclipse 中识别局部变量,您可能希望在 SO:Show All Local Variables in Eclipse中查看此答案,还可以查看有关局部变量和字段的更多信息:Java 教程:变量

字段在大纲上 局部变量不是。

问候!

于 2012-06-26T22:59:19.073 回答
0

如果您在方法中执行第一个示例,它可能会将 buffImg 作为警告添加到大纲中。您将离开它,尽管很短暂,但未初始化。最佳实践是您的多合一声明加上单行初始化。如果您不能立即设置局部变量,请将其初始化为 null,然后稍后重新分配。

于 2012-06-26T22:31:33.010 回答