以我的理解接口和抽象类都可以看成是一个类的子类吧. 
class A extends B { } 
如果B是一个普通的类,在内存中A应该包含B的吧.创建对象时应该先建B在建A的对吧. 
那么在类加载时应该先加载哪个谁呢?为什么? 
class A extends B implements C{ } 
如果B是一个抽象类,是不是在内存中A应该包含B?接口在内存中以什么方式存在?在类加载时应该先加载B还是先实现C呢? 
请求高手帮我解决解决困扰我多时的问题.万分感激.

解决方案 »

  1.   

    如果B是一个普通的类,在内存中A应该包含B的吧.创建对象时应该先建B在建A的对吧.
    先调用b的构造方法 然后实例化a那么在类加载时应该先加载哪个谁呢?为什么?应该是用到那个就先加载那个吧 先加载b后a如果B是一个抽象类,是不是在内存中A应该包含B?
    不包含
    接口在内存中以什么方式存在?
    ??
    在类加载时应该先加载B还是先实现C呢?  
    这由编译器决定
    C要怎么加载
      

  2.   

    1.所先,本质上说,接口就是一种抽象类,有定义方法,但不能有实现它;2.class A extends B {  } 
    先建B再建A,否则A要继承谁?3.
    class A extends B implements C{  } 如果B是一个抽象类,在内存中A不必包含B。先加载B.
      

  3.   

    加载的顺序有什么意义吗?
    应该先加载a,通过a找到b再加载b,无论a,b,c,都是加载的class文件,在内存中的结构本质上都是一样的。