java - 创建新对象时,Java 对于一个完整的初学者来说似乎是多余的
问题描述
如果这个问题看起来很愚蠢,我很抱歉,我是一个完整的初学者,Java 构造新对象的方式对我来说似乎是多余的。例如使用矩形包:
import java.awt.Rectangle
Rectangle box = new Rectangle(5,10,20,30)
那么为什么我们要写两次Rectangle呢?只是写
box = new Rectangle(5,10,20,30)
还不够吗?这样写很明显,我的对象将从 Rectangle 构造函数创建
解决方案
指定变量的类型和实例化对象的类并不总是多余的。
两者可能不同。
例如,代替你的例子,你可以写
Shape box = new Rectangle(5,10,20,30);
它允许您对接口 ( Shape
) 而不是特定的实现 ( Rectangle
) 进行编程。
如果您希望变量的类型与您实例化的类相同,则可以var
从 Java 10 开始使用:
var box = new Rectangle(5,10,20,30);
除此之外,您必须在声明新变量时告诉编译器。
如果你只是写
box = new Rectangle(5,10,20,30);
编译器期望box
变量已经在该语句范围内的某个地方声明。添加变量(或var
)的类型让编译器知道这是一个新变量。
推荐阅读
- c# - 尝试使用 Graph 从 Azure 获取用户配置文件信息
- ckeditor - 为什么CKEditor5使用promise来初始化它?
- javascript - 值不为空时如何设置required
- r - 使用 grid.arrange 排列图时出错
- java - Selenium WebDriver:使用循环在搜索结果中提取字符串
- jquery - 动态更新 AblePlayer 的(html5 视频)源
- r - R:上传(.csv)文件到 ftp 服务器
- python - 如何在 Python 中生成未来 5 天内的随机时间戳?
- php - POST 变量中断执行
- c++ - 每当我使用矩阵乘法时,我都会出现黑屏