public class ClassA
{
}
class Program
{
   static void Main()
    { 
       ClassA myClass= new ClassA();
     }
这里的类ClassA实例化的对象是哪个?myClass 还是后面用new关键字创建的,
很简单的一个问题,不过也困扰了,请帮我解决一下,谢谢

解决方案 »

  1.   

    问题补充:myClass是类型为ClassA的变量还是对象?后面new关键字是用来实例化一个对象并调用构造函数的吗?
      

  2.   

    ClassA myClass= new ClassA();
    myClass是类ClassA的对象,右边是实例化并调用构造函数?
      

  3.   

    是ClassA的对象.
    new  就是创建对象的过程
      

  4.   

    新建一个类型为ClassA对象名称为myClass的实例。
      

  5.   

    ClassA myClass= new ClassA();在托管堆上分配ClassA.在堆栈上有一引用指向这个堆的地址.
      

  6.   

    new ClassA在托管堆上创建一个对象ClassA并返回该地址 赋值给myClass
      

  7.   

    new分三步操作:
    1.先从托管堆上为新生成的引用分配内存。
    2.初始化对象附加成员,包括一个类型方法表指针和一个SyncBlockIndex
    3.传入参数,调用类型的实例构造器.
    完成后,返回一个指向新对象的引用。你那个myclass保存的就是新对象的引用。
      

  8.   

    ClassA myClass= new ClassA();你可以这样理解:ClassA 的实例:myClass你要的答案是myClass
      

  9.   

    大多数高级编程语言中,只有new才能出来对象在你提的这个问题中 new ClassA()是真正地在堆中创建了对象但我们调用这个对象的时候是由在栈上的引用myClass来调用的也就是说myClass存储了new ClassA()的地址
      

  10.   

    ClassA:类
    myClass:实例化对象
    new:在这里是实例化的关键字
    构造函数:隐式,自动添加
      

  11.   

    ClassA是类,
    ClassA myClass= new ClassA();中的myClass是类的实例也就是对象.
    new ClassA()是调用构造函数实例化类.产生对象.
    小弟是个新手.现现丑.难得有发言权的.