What is the benefit of instantiating a derived class using its base class? Java
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Why are variables declared with their interface name in Java?
How should lists be cast to their conrecte implementations?
例子:
好的,谢谢。
它是一种称为接口编程的编程实践。
这通常是为了以后可以在另一个实现中交换代码,并且仍然让代码操作相同。例如,如果您决定使用
契约式设计或"接口编程"是确保代码只使用接口所公开的属性/方法的原则,更重要的是,在任何给定的时间都只使用一个主接口。如果一次使用多个接口,这通常是耦合更紧密的标志。
通常,您也不应该在代码中直接实例化对象。您应该将该作业委托给外部实体,以便可以在单个位置对所使用的实现进行任何更改。
有一篇Dobb博士的期刊文章说应该禁止使用"new"关键字(确切的标题类似于"new i s verboten"),但我现在找不到它的链接。
您可以在不影响其余代码的情况下切换实现(例如,在示例中切换到