对于所有不熟悉Greenfoot的人,以下是上下文:-
Greenfoot是一个使用一些动画的java学习工具。在此工具中,有一个名为“Actor”的预定义类,其中包含一些预定义的方法。我们可以通过创建此类的子类来添加对象,例如“Car”、“Truck”等。
我为“演员”创建了名为“汽车”和“卡车”的子类。我从 'Car' 类中的一个方法中调用了 'Actor' 类中的预定义方法,称为 'move(一些表示运动速度的参数)' move(5);
:
我的问题是:为什么我不需要在此处提及“Car”类对象,例如:c1.move(5);
“c1”是“Car”类对象?我可以理解,由于我没有在'Car'类中定义'move'方法,它会直接调用并实现'Actor'类中的预定义方法,但是它怎么知道我的意思是'Car' ' 这里的类对象?它也可能是“卡车”类对象!是因为我从“汽车”类方法中调用该方法,它是在推断吗?
如果是,那么这是 java 中的一般规则还是只是 Greenfoot 的特定实现?