就是说.net中也和java的一样,运行一次new,就开辟一块内存区域吗?
这是面向接口的初衷吗?

解决方案 »

  1.   

    接口只不过是一个指针规范而已,他指向哪里不都要new出来嘛?那不一样要开内存?
      

  2.   

    接口只是一种规范而已,跟内存分配一点关系也没有。用new创建多个实例时,每个实例是会分配一块内存,但只是针对字段而言,类的方法在内存中只有唯一一块代码区,所有实例共享。
      

  3.   

    面向接口编程是OOAD原则之一,这说里的接口可以是Interface 或abstract class。
    在设计时遵DIP(Dependency Inversion Principle)可以解决静态编译依靠继承带来的一切烦恼,在运行时决定new哪个符合接口的对象,达到解藕、对扩展开放对修改关闭的好处!
      

  4.   

    .net也差不多的,具体的东西你只能看内核了,