假设B类从A类扩展而来。
那么,编写这样的代码有什么好处:
A myClassA = new B();与以下内容有什么区别:
B myClassA = new B();发布于 2011-11-03 16:44:37
这是对接口(或超类型)进行编程的概念,我们使用超类型引用,以便它可以容纳任何子类型实例
例如:假设我们有扩展A的B&C类
接受A作为参数的某些方法(&S)
无效打印(A a) {System.out.println(a);}
可以通过传递A或其子类型的任何实例来调用此方法
发布于 2011-11-03 16:18:50
因为如果C是A的一个子类型,你可以这样说
myClassA = new C();并且您的代码仍将按预期工作。
发布于 2011-11-03 16:19:16
您可以稍后将A实例分配给myClassA。
https://stackoverflow.com/questions/7991844
复制相似问题