小编Mar*_*fer的帖子

Java:自动投射如何工作?

从一本书:

如果要调用由超类变量引用的对象的子类定义的方法,该怎么办?假设SoftBall类有一个名为riseBall的方法,它不是由Ball类定义的.你如何从Ball变量中调用它?一种方法是创建子类的变量,然后使用赋值语句来转换对象:

Ball b = new SoftBall();
SoftBall s = (SoftBall)b;
// cast the Ball to a SoftBall
s.riseBall();
Run Code Online (Sandbox Code Playgroud)

我不明白这一点.为什么我不能直接从变量b调用方法?(在这种情况下,变量b包含一个垒球对象).为什么铸造?

oop inheritance

1
推荐指数
1
解决办法
82
查看次数

标签 统计

inheritance ×1

oop ×1