我在标题的引号中加上“内联声明”,因为我的部分问题是我不知道该怎么称呼它。我对Java和一般的编程都很陌生,所以“内联声明”这个短语是我最接近描述我正在谈论谷歌或其他搜索引擎的内容,而我没有找到任何答案。据我所知,它根本不是一个“声明”(尽管我认为是,因为我查看了声明,实例化和初始化之间的区别)。希望我能更好地解释我的意思。
我的意思是:如果我用Java声明一个对象,然后单独初始化它,就像这样:
BufferedImage buffImg;
buffImg = ImageIO.read("MyImage.jpg");
然后Eclipse会将对象名称(在本例中为buffImg)转换为特殊颜色,将其添加到Outline中,并将其视为对象。它可以用关键字,字符串,注释做同样的事情......你明白了。
但是,如果我执行“内联声明”,我在一行中声明,实例化和初始化对象,如下所示:
BufferedImage buffImg = ImageIO.read("MyImage.jpg");
然后Eclipse不会将它变成特殊颜色,不会将其添加到Outline中,并且通常将其视为任何随机的非特殊单词,但有一个例外:代码突出显示仍然会选择该单词的所有实例整个代码。
我的问题是:
谢谢!
答案 0 :(得分:1)
1.-单个语句声明和初始化没有特殊的单词,这是在java中初始化变量的常用方法。
2.-我认为您的困惑可能来自Fields和局部变量。 尽管您使用了初始化类型,但Eclipse仍然突出显示字段,而本地变量则不是。字段始终显示在大纲中,而局部变量则不显示。
关于在Eclipse中识别局部变量,您可能希望在SO中查看此答案:Show All Local Variables in Eclipse,还有关于您可能想要查看的局部变量和字段的更多信息:{{3} }。
问候!
答案 1 :(得分:0)
如果您在方法中执行第一个示例,则可能会将大纲中的buffImg添加为警告。你将离开它,虽然非常短暂,但未初始化。最佳实践是您的一体化声明以及单行初始化。如果无法立即设置局部变量,请将其初始化为null,然后稍后重新分配。