Super thing = new Sub()和Sub thing = new Sub()之间有什么区别?

时间:2014-05-06 10:37:31

标签: subclass superclass super subclassing difference

Super thing = new Sub();
Sub thing = new Sub();

访问内容和使用它可以做些什么等方面有什么区别?

1 个答案:

答案 0 :(得分:0)

不同之处在于,可以将变量Super thing重新分配给实现Super的任何其他子类,而Sub thing当然只能分配给另一个Sub类。

也就是说,将new Sub()分配给Super thing使用多态覆盖,您可以在其中找到一个好的教程herehere。您只能调用类Super中定义的方法。如果在其中一个子类中重写这些方法(读取:重新定义),则多态将确保调用重写的方法,而不是类Super中的方法。