gpt4 book ai didi

java - 面试问题(C#)

转载 作者:行者123 更新时间:2023-12-01 07:14:30 25 4
gpt4 key购买 nike

所以有人给了我一个小程序来编写,我做得很好,但后来被问到以下问题,我有点困惑。

下面的值是什么?

//我告诉他们,他们会得到一个错误,因为它们没有初始化,所以他们指向内存中的某个地址...

int a;
Object b;
int d = a;
bool c;

如果在 Java 中,请将最后一行替换为

boolean c;

请让我知道这个问题的正确答案,因为我确信它会再次被提出。谢谢:)

最佳答案

.Net CLR 将所有字段和局部变量初始化为其默认值。
在您的例子中,即 0nullfalse

但是,该代码在任何情况下都无法编译。

在方法内部,C# 不允许使用未初始化的局部变量,因此 d = b 将无法编译。
作为实例字段,C# 不允许您在构造函数内部使用 this,因此 d = a 不会在字段初始值设定项中编译。

作为静态字段,这可以编译,但缺少 static 关键字。

<小时/>

在 Java 中,所有这些也是如此,只是 Java 允许您在字段初始值设定项中使用 this
因此,此代码在 Java 中作为实例字段是有效的。

关于java - 面试问题(C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6189724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com