1,只是改变了变量的类型,引用对象的类型未改变。还是引用对象的类型也被改变了?
2,一个父类(接口)变量引用子类(实现这个接口的类)实例,编译器是否在后台执行了类型转换?

解决方案 »

  1.   

    1.1、ctype是VB中的语法,C#中是强制类型转换。
    1.2、是换个类型存到另一个变量中,所以变量类型和对象类型都没变,如:
    MyClass mine = new MyClass();
    object o = (object) mine;
    显然mine仍然是MyClass类型的2、这是隐式类型转换,隐式类型转换还是在运行期进行的,因为类型转换中牵涉到的类型是运行时类型(对象类型),不是编译时类型(变量类型),只不过,隐式类型转换不需要任何特殊的语法。
      

  2.   

    object o = (object) mine;是又创建了一个对象实例么?o引用的对象是谁?