首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象类型转换

对象类型转换
EN

Stack Overflow用户
提问于 2014-10-01 01:39:00
回答 2查看 76关注 0票数 1

在以下代码中:

代码语言:javascript
复制
A tat = new P();

P bat = (P) tat;

是类型转换tatP bat = (P) tat;

就像说:P tat = new P();

你还能从理论上说:P bat = ( P tat = new P(); )

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-01 01:41:54

答案是肯定的,但P bat = ( P tat = new P(); )不是有效的Java代码,也不会编译。

您必须使用两个语句来定义它们:

代码语言:javascript
复制
P bat, tat;
bat = tat = new P();
票数 1
EN

Stack Overflow用户

发布于 2014-10-01 01:45:21

在您的示例中,您需要记住,虽然tat实际上是P的一个实例,但它具有由A定义的接口(假设P扩展或实现了A,否则就无法工作)。

在此之后,bat将是对tat引用的相同对象的引用,但是它将通过P定义的接口访问。

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

https://stackoverflow.com/questions/26132829

复制
相关文章

相似问题

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