亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“構造函數語句”和“聲明語句”是描述這些語句的正確名稱嗎?

“構造函數語句”和“聲明語句”是描述這些語句的正確名稱嗎?

catspeake 2023-06-21 15:00:22
我對以下 Java 語句感到困惑:ArtClass artClass0 = new ArtClass();int int3 = 73;boolean boolean0 = artClass0.foo(int3);第一個語句稱為 嗎constructor statement?對于第二個和第三個陳述,它們都被視為declaration statements?如果是這樣,我該如何區分它們?當我在論文中撰寫這兩個陳述時,我需要區分這兩個陳述。
查看完整描述

3 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

它們都是局部變量聲明語句,可以簡單地寫為

VariableDeclaratorId?[=?VariableInitializer]

我將向您提供JLS中用于命名非終結符的確切術語。下面提到的任何非終結符都可以在規范中找到。

ArtClass?artClass0?=?new?ArtClass();

[UnannReferenceType?[UnannClassOrInterfaceType]]?Identifier
?????=?[Primary?[PrimaryNoNewArray?[ClassInstanceCreationExpression]]];

?int?int3?=?73;

[UnannPrimitiveType?[NumericType?[IntegralType?[int]]]]?Identifier
????=?[Literal?[IntegerLiteral?[DecimalIntegerLiteral]]];

boolean?boolean0?=?artClass0.foo(int3);

[UnannPrimitiveType?[boolean]]?Identifier
????=?[Primary?[PrimaryNoNewArray?[MethodInvocation]]];


查看完整回答
反對 回復 2023-06-21
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

第一個語句稱為構造函數語句嗎?

不,Java 中沒有“構造函數語句”這樣的術語,至少官方沒有。只有 3 種類型的語句:

  1. 表達聲明

  2. 聲明書

  3. 控制流語句

表達聲明可能包括以下表達方式;

  • 賦值表達式[例如a = 5]

  • 任何 ++ 或 --?[例如 a++]的使用

  • 方法調用[例如 foo(a)]

  • 對象創建表達式[例如 MyClass myClass = new MyClass()]

當我們聲明一個變量時,這稱為聲明語句。

在您的問題示例中,

ArtClass?artClass0?=?new?ArtClass();

上面的是一個對象創建表達式,因此我們稱之為表達式語句。另一方面,

int?int3?=?73;
boolean?boolean0?=?artClass0.foo(int3);

在這兩種情況下,我們都聲明了變量。所以,它們是聲明語句。

但是,請注意以下聲明:

int int3; // Declaration Statement

int3 = 73; // Expression Statement

boolean boolean0; // Declaration Statement

boolean0 = artClass0.foo(int3); // Expression Statement


查看完整回答
反對 回復 2023-06-21
?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

Java 語言的官方術語在Java 語言規范中定義。

所有三個語句都是局部變量聲明語句,但它們的變量初始值設定項使用不同的表達式。具體來說:

  • new ArtClass()是類實例創建表達式

  • 73是文字表達

  • artClass0.foo(int3)是一個方法調用表達式

如果您希望根據聲明的變量類型進行區分,您可能會說第一個聲明了引用類型的變量,而其他聲明了基本類型的變量(或更具體地說是“int”或“boolean 變量”)。


查看完整回答
反對 回復 2023-06-21
  • 3 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號