cats 是个容器,
cats.get(i) 返回的是 Object 类型所以你要转型
(Cat)cats.get(i) 就是将返回的 Object 转换成 Cat 类型
因为运算符 . 的优先级大于括号的优先级,所以要用
((Cat)cats.get(i)) 表示这个 Cat 类型的数据,
再用 ((Cat)cats.get(i)).print() 调用 Cat 类型的 print() 方法如果这样用 (Cat)cats.get(i).print() 的话因为运算优先级的原因编译器会认为要调用 get(i) 的返回值的 print() 方法再把 print() 方法的返回值转换成 Cat 类型
cats.get(i) 返回的是 Object 类型所以你要转型
(Cat)cats.get(i) 就是将返回的 Object 转换成 Cat 类型
因为运算符 . 的优先级大于括号的优先级,所以要用
((Cat)cats.get(i)) 表示这个 Cat 类型的数据,
再用 ((Cat)cats.get(i)).print() 调用 Cat 类型的 print() 方法如果这样用 (Cat)cats.get(i).print() 的话因为运算优先级的原因编译器会认为要调用 get(i) 的返回值的 print() 方法再把 print() 方法的返回值转换成 Cat 类型
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货