一、实例化对象
Student s; 首先是在栈中开辟一块空间叫s,s里面的内容是空;
s = new Student(); 在堆实例化Student对象,将对象的引用地址保存到栈s里。因此,s指向Student这个对象,当s再次实例化时,之前的堆中new Student()就没有对象指,就被GAC给回收了。
二、静态(static)成员
不和实例相关,不用创建实例,只有一个副本。
静态成员与实例成员的区别
静态类成员不用实例来创建,之间用类名来访问。
实例成员必须建立对象的引用来访问。
三、只读和常量字段
只读字段:public const int classid= 156;
常量字段:public readonly double CompanyCost=3256.23;
共同点:赋值后就不能再改变
不同点:
const:只能在声明的时候初始化,赋值仅为内建值类型:字符串、枚举、整型和double等
readonly:初始化不受限制,可以是任何值类型或引用类型。
四、名称空间:
优点
1、增加可读性
2、减少类名的冲突
3、名称空间别名:为了避免在使用using引用命名空间中有相同的类名。
using BT = TeamA.BusinessTier;
BT.Customer c =new BT.Customer();
实例化Customer,不用每次都要写很长的命名空间,起个别名用起来很方便,也不会跟别的命名空间中相同的类名冲突。
五、组件:一个类或多个类的集合,在.Net中,组件被称为程序集(assembly)
组件引用方式有两种:
1、在同一个项目添加引用。
2、直接添加引用。