这是我们课件上的6个条件1.派生类对象的方法调用必须通过一个基类类型的变量进行。
2.调用的方法必须在派生类中被定义。
3.调用的方法也必须被声明为基类的一个成员。
4.基类和派生类中对应的方法的签名必须相同。
5.基类和派生类的方法的返回对象类型必须相同或者返回对象类型必须是协变的。
6.派生类的方法的访问说明符不能比基类有更多的限制。对于第一条不理解"必须通过一个基类类型的变量进行"这是什么意思,我没用基类的一个示例调用子类方法也没错啊.
2.调用的方法必须在派生类中被定义。
3.调用的方法也必须被声明为基类的一个成员。
4.基类和派生类中对应的方法的签名必须相同。
5.基类和派生类的方法的返回对象类型必须相同或者返回对象类型必须是协变的。
6.派生类的方法的访问说明符不能比基类有更多的限制。对于第一条不理解"必须通过一个基类类型的变量进行"这是什么意思,我没用基类的一个示例调用子类方法也没错啊.
if (条件1) x = new B();
else if (条件2) x = new C();
else x = new A();