-3
,如果我有这样的:传递子类型在方法参数,以超类类型
class A{
}
class B extends A{
}
class C extends B{
}
然后可以我通过C的实例来请求A的实例的方法?像这样:
void aMethod(A anInstanceOfA){
// some code
}
C anInstanceOfC = new C();
aMethod(anInstanceOfC);
如果没有,有没有办法达到相同的结果?
是的,您可以随时在需要A实例的情况下使用C实例。这包括将它传递给需要A参数的方法。 – Jojonete
你为什么不简单地测试它?如果你的机器上没有安装Java,你可以使用在线编译器,比如https://ideone.com/ – Pshemo
,你可以将'A'的任何子类型传递给'aMethod()',顺便说一下,你可以很容易地测试这个在线或在一些ide – Ramanlfc