List<String> ls=new ArrayList<String>();
这样的写法是多态的体现。
你的问题:如果将子类提升为接口List,那么子类的特有方法不就是不能用了吗? 都变成只能用共性方法了?
对于你的问题,首先你先查看一下文档,看看List类中的方法的数量和名称,然后对比一下ArrayList类中的方法的数量和名称,你就知道了。ls 可以使用List集合中的方法,如果你想使用子类中的方法的时候,你就可以强制转换成子类的类型。就可以使用子类的方法了。
这样ls集合,list的方法和ArrayList的方法 都能使用。你说比之前
ArrayList<String> ls=new ArrayList<String>();
这样使用是否高级呢? |