lAdaptable
是什么?
Java
是所谓的强类型语言,也就是说,每个实例都对应一个类型。其实类型分为两种:声明类 型和运行时类型(也分别被称为静态类型和动态类型)。像
Python
这样的弱类型语言常 被称 为无类型的语言,其实严格说来不是这样,因为每个实例都对应一个运行时类型,只是你并不 需要声明这一点而已。
现在回到
Java,
为了能够执行一个类的某个方法,这个方法必须在声明类型中可见,换句话说, 即使在运行时实例是某个子类型,你也只能执行那些父类型里定义的方法。
List list
=new ArrayList
();list, add (〃data〃)
;//正确,add是List
里定义的方法
list. ensureCapacity (4) ; //
不正确,
ensureCapacity ()
只在ArrayList
被定义如果一定要执行特定类型的方法,我们必须先强制转换这个实例到正确的类型。对于上面的例 子,我们可以将
list
转换为ArrayList
(译注:原文
In this case, we can cast ArrayList to List,
怀 ...


雷达卡


京公网安备 11010802022788号







