没有变量声明实例化对象有什么缺点吗?

时间:2015-03-31 08:15:56

标签: java instance new-operator instantiation

如果程序是这样写的,那没关系:

class ReduceCode 
{
    void display()
    {
        System.out.print("Hello");
    }
    public static void main(String[] X)
    {
        new ReduceCode().display();
    }
}

而不是

class ReduceCode 
{
    void display()
    {
        System.out.print("Hello");
    }
    public static void main(String[] X)
    {
        ReduceCode rc = new ReduceCode();
        rc.display();
    }
}

我理解必须声明对象引用的原因,以便在涉及任何实例变量时,将来可以使用该引用访问这些变量的值,但对于display()等方法只打印一些东西,可以忽略参考。

除此之外,没有参考的实例化是否有任何缺点?我在官方网站上找不到任何文件。这种技术是否在工业级使用?

2 个答案:

答案 0 :(得分:1)

我发现的唯一缺点是使用断点进行调试时。在第二个示例中,您可以将鼠标悬停在Eclipse中的rc变量上并进行检查。

但这是一个很小的代价:第一种方式更具可读性,使对象的范围更加清晰。

答案 1 :(得分:0)

我知道以这种方式将对象用作可丢弃工具没有任何缺点。我实际上建议如果你不需要实例引用,最好以这种方式使用它们。

我唯一能想到这种做法可能令人讨厌的地方是在调试时。您将没有机会检查所创建对象的详细信息。

Java 8中的新Streams系统使用这样的流,它们通常仅在表达式评估时存在一段时间。