第4条用C#举例
时间: 2023-07-12 07:15:36 浏览: 83
当你定义一个类时,如果你没有显式地定义构造函数,编译器会自动生成一个默认的无参构造函数,例如:
```
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
```
在上面的代码中,就有一个默认的无参构造函数,可以通过以下方式实例化一个 Person 对象:
```
Person person = new Person();
```
而对于结构体,如果你没有提供任何构造函数,编译器也会生成一个默认的无参构造函数。但是,如果你自己定义了任何一个构造函数,那么默认的无参构造函数就不会再被生成了。例如:
```
public struct Point
{
public int X { get; set; }
public int Y { get; set; }
public Point(int x, int y)
{
X = x;
Y = y;
}
}
```
在上面的代码中,我们显式地定义了一个有参构造函数,这时候默认的无参构造函数就不会再生成了。如果你需要使用无参构造函数,你需要显式地定义一个,例如:
```
public struct Point
{
public int X { get; set; }
public int Y { get; set; }
public Point(int x, int y)
{
X = x;
Y = y;
}
public Point() : this(0, 0)
{
}
}
```
在上面的代码中,我们定义了一个无参构造函数,它调用了有参构造函数,并传入了默认值。这样,在实例化 Point 对象时,可以使用无参构造函数了。
阅读全文