这是什么意思?(关于类和实例)
本文关键字:于类 实例 是什么 意思 | 更新日期: 2023-09-27 17:57:05
using System;
class Program
{
static void Main()
{
haha haha1;
}
}
class haha
{
int a;
int b;
public haha(int a, int b)
{
this.a = a;
this.b = b;
}
}
我知道如果我想制作实例,我应该编写如下代码:
haha haha1 = new haha(1,2);
但是当我写只是
haha haha1;
没有编译错误。
haha haha1;
是什么意思?是不是代码错误?
这不是错误的代码。它是一个变量声明。
haha haha1;
只需声明一个名为 haha1 的变量,其类型为 haha。但是,此变量未分配值。
使用 new 关键字实例化对象时:
haha1 = new haha();
然后,变量引用创建的对象
这取决于编程语言,但大多数编程语言选择以下两个选项之一:
1) 隐式初始化 (C++)
haha haha1;
与
haha haha1 = new haha1();
2) 空初始化 (C#)
haha haha1;
与
haha haha1 = null;
无论发生什么,行为的结果都称为"默认值"或"默认初始值设定项"。有关详细信息,请参阅您的语言文档。
一些注意事项:C 和 C++ 允许变量未初始化,因此在您分配给它们之前,它们没有确定的值。C++非指针不能为 NULL,因此它们总是用某些东西初始化(但其他所有内容,包括指针,都遵循 C 规则)。