我举一个例子,不知是不是易于理解,:)People mike; // 说明 mike 是一个人,注意,只是一个说明! mike = new People("Mike"); // 创建一个具体的人,姓名 Mike,并用 mike 来代表这个对象
其实很简单,你把程序从左往右读 Test A=new Test(); 首先计算机为A分配一定的内存空间,但是分配多少呢?取决于左边的 Test ,分配好了以后,应该存储什么对象的内容?A虽然是引用类型,但是存储引用信息一样是需要内存空间的。根据右边的TEST(),往 A的内存空间里写入 A 引用了 Test()的相关信息。
能直接写成A=new test()吗?为什么A前面也要加test?-------------------
.net是强类型语言,定义以个变量先要声明类型
tbClass.PrimaryKey=new DataColumn[] {ClassID};
这里的tbClass.PrimaryKey是一个对象引用吗??
mike = new People("Mike"); // 创建一个具体的人,姓名 Mike,并用 mike 来代表这个对象
Test A=new Test();
首先计算机为A分配一定的内存空间,但是分配多少呢?取决于左边的 Test ,分配好了以后,应该存储什么对象的内容?A虽然是引用类型,但是存储引用信息一样是需要内存空间的。根据右边的TEST(),往 A的内存空间里写入 A 引用了 Test()的相关信息。
而是在托管堆上面!!!!值类型才是在堆栈上面进行空间的分配!
当new一个类之后,就会为这个对象分配空间这样写更容易理解
Test a;//定义一个Test类型
a=new Test();//为Test类型分配空间,并且使a指向Test
tbClass.PrimaryKey=new DataColumn[] {ClassID};
那这两句话根据wangzi041() 说的.怎么执行的?tbClass.PrimaryKey=new DataColumn[] {ClassID};这句话是为DataColumn类型分配空间,并且使tbClass.PrimaryKey指向DataColumn吗?
tbClass.PrimaryKey也是对象引用吗?
new test(); 在堆上分配对象实例.
tbClass.PrimaryKey=new DataColumn[] {ClassID};
那这两句话根据wangzi041() 说的.怎么执行的?tbClass.PrimaryKey=new DataColumn[] {ClassID};这句话是为DataColumn类型分配空间,并且使tbClass.PrimaryKey指向DataColumn吗?
tbClass.PrimaryKey也是对象引用吗?________________是.