java - "ClassA object = new ClassA();"和 "new ClassA();"之间的区别?

标签 java

我不知道这是否已经被问过,因为我在任何地方都找不到。
所以,最近我在 IntelliJ IDEA 中遇到了这个功能,它说转换表达式。
这是图片:
enter image description here
我想知道的是ClassA object = new ClassA();有什么区别和 new ClassA(); .
是否有任何功能差异或其他任何可能以任何方式影响正常代码运行的内容?

最佳答案

如果您的代码包含一个变量

ClassA object = new ClassA();
您以后在代码中永远不会使用它,您可以消除变量和 new ClassA()表达。
但是,如果创建 ClassA() 的实例有一些与您的程序相关的副作用(即,即使您稍后不对创建的 ClassA 实例执行任何操作,您也需要执行 ClassA 的构造函数),您可以将该语句替换为创建一个不将其分配给变量的实例:
new ClassA();
这样的声明清楚地表明,创建的实例不应通过以下代码在以后访问。
但是,这两个语句的功能相同(尽管第一个语句可能会导致警告,说明您声明了一个未使用的变量)。

关于java - "ClassA object = new ClassA();"和 "new ClassA();"之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62531114/

相关文章:

java - equals() 中的 getClass() 为我的实体提供了意外的结果

java - Appengine 和 java.io 的使用

java - 为什么 CookieStore 的默认实现不使用树状结构?

java - 重新映射 JAX-WS 地址

java - 从 List<Foo> 到 Map<String, List<Foo>> : looking for a better implementation

Java 流 : Map<Enum, List<A>> 到 List<B>

java - Android,在Java中用px设置WebView尺寸

java - 在哪种情况下可以在Java中使用setStackTrace()方法?

java - 准备好的 SQL 语句无效

java - 如何在多线程环境中访问PreparedStatement?