考虑下面的代码片段:超类的子类实例化
SuperClass superClass = new SubClass(); // Instantiating SuperClass reference
SubClass subClass = new SubClass(); // Instantiating SubClass reference
如果我列出域/ superClass
对象的方法,我可以看到只有超类方法。那么有什么区别:
SuperClass superClass = new SubClass();
和
SuperClass superClass = new SuperClass();
我知道这可能是多态的情况下,我可以使用参考,为IS-ASuperClass
,但我为什么会使用参考如果我想实例化SuperClass
因为我通过使用SuperClass
实例化相同的字段/方法?
我见过这个问题,但我仍然困惑。 Using superclass to initialise a subclass object java
编辑:我不是在这里谈论接口。我知道我们可以使用它们来分配实现它们的类的对象的接口。我只谈论超类。
任何帮助,将不胜感激。
编辑问题@ elliott-frisch。谢谢。 – HelloWorld
您仍然*编程到由超类定义的接口*。 –