类与结构体的区别

1、类型上的区别:

  类是引用类型,结构体是值类型

2、在构造函数上的区别:

  1、类中写了一个新的构造函数后,默认的无参数的构造函数就被干掉了;在结构中,写了一个新的构造函数后,默认的那个无参的构造函数还在。

  2、类中可以有多个构造函数;结构体中只能有两个,一个是默认的无参的构造函数,一个是全参数的构造函数,这两个构造函数始终都在。

  3、类的构造函数既可以给字段赋值,也可以给属性赋值;结构体的构造函数中,必须给所有字段赋值,不能选择性地去给字段赋值,也不能给属性赋值。

3、new

  使用new实例化结构体的时候,就只是调用构造函数,在栈上开辟空间;

  使用new创建类对象的时候,调用了构造函数,并且在堆上开辟了空间。

4、继承

  结构体不能继承于类,类也不能继承于结构体,但它们都可以继承于接口。

  结构体不具备面向对象的特征,而类是面向对象的产物。

5、使用场合

  如果只是单纯地存储数据的话,推荐使用结构体;如果需要用到面向对象的思想,推荐使用类。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注