首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java:为什么要写Supertype a= new Subtyp()`?

Java:为什么要写Supertype a= new Subtyp()`?
EN

Stack Overflow用户
提问于 2011-11-03 16:17:15
回答 7查看 160关注 0票数 3

假设B类从A类扩展而来。

那么,编写这样的代码有什么好处:

代码语言:javascript
复制
A myClassA = new B();

与以下内容有什么区别:

代码语言:javascript
复制
B myClassA = new B();
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-11-03 16:44:37

这是对接口(或超类型)进行编程的概念,我们使用超类型引用,以便它可以容纳任何子类型实例

例如:假设我们有扩展A的B&C类

接受A作为参数的某些方法(&S)

无效打印(A a) {System.out.println(a);}

可以通过传递A或其子类型的任何实例来调用此方法

票数 4
EN

Stack Overflow用户

发布于 2011-11-03 16:18:50

因为如果CA的一个子类型,你可以这样说

代码语言:javascript
复制
myClassA = new C();

并且您的代码仍将按预期工作。

票数 3
EN

Stack Overflow用户

发布于 2011-11-03 16:19:16

您可以稍后将A实例分配给myClassA

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7991844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档