Java是一种静态类型的语言。
这意味着编译器将检查变量的类型是否具有您尝试调用的方法。
变量的类型
b为
Ball。
Ball没有
riseBall方法。
这意味着您的代码将崩溃,除非
b在运行时碰巧包含一个
Softball(编译器无法保证)。您可能知道它确实如此,但是您也必须说服编译器(即为变量提供必要的类型)。

Java是一种静态类型的语言。
这意味着编译器将检查变量的类型是否具有您尝试调用的方法。
变量的类型
b为
Ball。
Ball没有
riseBall方法。
这意味着您的代码将崩溃,除非
b在运行时碰巧包含一个
Softball(编译器无法保证)。您可能知道它确实如此,但是您也必须说服编译器(即为变量提供必要的类型)。