java中初始化对象的区别



假设我有一个抽象类A和一个名为B的类来扩展它

A objectname=new B();

和这个

B objectname=new B();  

在这两种情况下,您都将创建B的实例。唯一的区别是将该实例分配到哪里。在第一个代码段中,objectname的类型是A,因此除非显式将其强制转换为B,否则将无法使用不在A中的B的方法。

最新更新