1、类型上的区别:
类是引用类型,结构体是值类型
2、在构造函数上的区别:
1、类中写了一个新的构造函数后,默认的无参数的构造函数就被干掉了;在结构中,写了一个新的构造函数后,默认的那个无参的构造函数还在。
2、类中可以有多个构造函数;结构体中只能有两个,一个是默认的无参的构造函数,一个是全参数的构造函数,这两个构造函数始终都在。
3、类的构造函数既可以给字段赋值,也可以给属性赋值;结构体的构造函数中,必须给所有字段赋值,不能选择性地去给字段赋值,也不能给属性赋值。
3、new
使用new实例化结构体的时候,就只是调用构造函数,在栈上开辟空间;
使用new创建类对象的时候,调用了构造函数,并且在堆上开辟了空间。
4、继承
结构体不能继承于类,类也不能继承于结构体,但它们都可以继承于接口。
结构体不具备面向对象的特征,而类是面向对象的产物。
5、使用场合
如果只是单纯地存储数据的话,推荐使用结构体;如果需要用到面向对象的思想,推荐使用类。