对象的引用:值类型和引用类型
1.值类型的值存在栈上,引用类型栈上存的是地址,值在堆上
结构问题 struct
类 问题 class
栈里面存的是地址,堆里面存的是值
①P2的地址与P1的地址相等,所以都为第一个堆里面的值
②对P2进行重新赋值,“100,女”,此时P1与P2的地址相同所以P1 P2都为“100,女”
2.类:
类当中写一个有参数的构造函数,默认无参数的构造函数被干掉了
类中写构造函数参数列表中参数个数可以不确定
结构:
在结构中默认也有一个无参数的构造函数
当在结构中写一个有参数的构造函数,默认无参数的构造函数还没有被干掉
在结构中写构造函数,要把所有的字段都要完全赋值
类是引用类型,结构是值类型
3.栈和堆的区别
栈:编译期间就分配好的内存空间,因此代码中就必须就栈的大小有明确的定义
堆:程序运行期间动态分配的内存空间,可以根据程序 运行情况却sing要分配的堆内存的大小
4.值类型与引用类型
值类型不可能包含null值
每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。