抽象类和接口不能直接实例?

来源:互联网 发布:安卓收银软件 编辑:程序博客网 时间:2024/05/21 11:00

1,抽象类和接口不能直接实例化 
2,子类被实例化,在实例化出的对象之中包含着父类的对象(thinking in java中有提到) 
问题: 
1 由抽象类中允许存在构造方法和第二条得知,一个类B继承一个抽象类A A a=new B()的时候,不仅new出了B,同时也调用了抽象类A的构造方法,既然抽象类不能有对象,那么岂不很矛盾? 

  不能理解为抽象类型不能有对象,应该理解为抽象类不能直接被new出来,它只能通过子类创建出来,jvm判断他是否能被实例时是根据被调用的那个类是否是它的子类来决定的。这就是"抽象类和接口不能直接实例化"及"抽象类和接口不能实例化"两句话的差别