首页 > 代码库 > 使用Object类型的多态引用是会付出代价的

使用Object类型的多态引用是会付出代价的

 1 import java.util.*; 2 public class FiveShi { 3    String name; 4     public void eat(){ 5         System.out.println("吃骨头"); 6     } 7     public static void main(String[] args){ 8         ArrayList<Object> myDogArrayList = new ArrayList<Object>(); 9         FiveShi aDog = new FiveShi();10         myDogArrayList.add(aDog); //放进去的是aDog类的对象11         Object d = myDogArrayList.get(0); //返回的是Object类的对象12         // d.eat(); 无法这样调用,因为Object里面没有eat方法13         ((FiveShi)d).eat();  //把d转换成拥有eat方法的FiveShi类14     }15 }

技术分享

使用Object类型的多态引用是会付出代价的