java - "constructor statement"和 "declaration statement"是描述这些语句的正确名称吗?

标签 java constructor expression variable-declaration jls

我对以下 Java 语句感到困惑:

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

第一条语句称为构造函数语句吗?对于第二个和第三个语句,它们都被视为声明语句吗?如果是这样,我该如何区分它们?当我在论文中撰写这两个陈述时,我需要区分这两个陈述。

最佳答案

它们都是Local Variable Declaration Statements ,可以简单地写为

VariableDeclaratorId [= VariableInitializer]

我会给你the JLS中使用的确切术语。命名nonterminals 。下面提到的任何非终结符都可以在规范中找到。

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]]];

关于java - "constructor statement"和 "declaration statement"是描述这些语句的正确名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57694794/

相关文章:

java - 将 RxJava Single 转换为 Mono

java - 无法使 Activity 兼容正常工作

javascript - 这是普通函数、构造函数还是两者都不是?

java - 如果存在用户定义的构造函数,则无法使用默认构造函数

c++ - 继承构造函数在 C++ 中有多大用处?

python - 重新拆分后的空格字符

java - 用于删除除 $ 之外的所有非字母数字字符的正则表达式

java - 对线程行为有点困惑

java - 访问 class.getResources() 时出现 NullPointerException

scala - 为什么这些看似相同的函数定义会产生不同的结果?