使用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 }

posted @ 2016-09-15 15:54  特雷恩  阅读(267)  评论(0编辑  收藏  举报