我在看 Java 文档,这个例子让我很惊讶:
int height = new Rectangle().height;`
我一直认为在这种情况下你必须使用括号:
int height = (new Rectangle()).height;
因为运算符优先级表显示.
运算符比运算符具有更高的优先级new
,如果是这样,那么为什么该行代码是这样执行的:
int height = (new Rectangle()).height;
而不是像这样执行:
int height = new (Rectangle().height);