java - “ClassA object = new ClassA();”之间的区别 和“新的ClassA();”?
问题描述
我不知道这是否已经被问过,因为我在任何地方都找不到。
所以,最近我在 IntelliJ IDEA 中遇到了这个特性,它说的是转换表达式。
这是图片:
ClassA object = new ClassA();
我想知道的是和之间有什么区别new ClassA();
。
是否有任何功能差异或其他任何可能以任何方式影响正常代码功能的东西?
解决方案
如果您的代码包含变量
ClassA object = new ClassA();
您以后在代码中永远不会使用它,您可以消除变量和new ClassA()
表达式。
但是,如果创建 的 实例ClassA()
有一些与您的程序相关的副作用(即,ClassA
即使您稍后不对创建的ClassA
实例执行任何操作,您也需要执行 的构造函数),您可以将该语句替换为创建一个实例而不将其分配给变量:
new ClassA();
这样的声明清楚地表明,创建的实例不希望稍后通过以下代码访问。
但是,两个语句的功能相同(尽管第一个语句可能会导致警告说您声明了一个未使用的变量)。
推荐阅读
- microsoft-graph-api - 使用 Graph Beta API 错误在 Teams 中创建标签 - 参数“标签不能为空”
- c++ - esp32 向蜂窝/gnss 模块发送的测试 AT 命令没有反馈
- amazon-web-services - aws sagemaker - IAM 调用 get_role 的权限
- pandas - 如何在熊猫中重复 DatetimeIndex
- python - Python 问题不断在代码末尾被问到
- algorithm - 使用形状来获得循环的时间复杂度,如何?
- javascript - 如何从个人 github.io 页面读取数据库?
- python - 有没有办法在python中比较2个不同采样率的信号
- python - 维护单个对象或在 python 命令模式中传递上下文
- angular - angular 12 路由加载组件,无需注册模块