New操作符
- 在内存中创建类的实例,并且立刻调用实例构造器,如果New操作符左边有赋值符号,New操作符会把自己拿到的这个实例的内存地址通过赋值操作符交给负责访问这个实例的变量。
- New操作符还可以调用实例的初始化器。
对象及引用
A a=new A();
B b=null;
C c;
- A是类型,a是引用,new A()是对象,引用a储存的是new出来对象的内存地址, 对象是储存在堆内存里的,引用变量储存在栈中。
- B是类型,b是引用,指向null值。
- C是类型,c是引用,不指向任何对象,仅为声明一个引用。
- 第二行和第三行的区别,第二行指向空对象,第三行空引用,不指向任何对象。
class Program
{
static void Main(string[] args)
{
A a=new A();
B b=null;
C c;
Console.WriteLine(b.x );//会出现NullReferenceException异常
Console.WriteLine(c.x);//不能调用,不指向任何对象
}
}
class A
{
public int x;
}
class B
{
public int x;
}
class C
{
public int x;
}
以上为个人见解,如有错误,欢迎指出。