java – 将超类的对象转换为子类 – 下拉式
发布时间:2020-12-14 05:33:53 所属栏目:Java 来源:网络整理
导读:我知道铸造真的只能从一个子类到一个超类(向上铸造),但这个例子说明了我想做的事情. Class Super {}Class Sub extends Super {}Super super = new Super();Sub sub = (Sub)super; 我相信这被称为“下”铸造,这是不允许的… 创建类型为Sub的对象的最佳方法是
我知道铸造真的只能从一个子类到一个超类(向上铸造),但这个例子说明了我想做的事情.
Class Super {} Class Sub extends Super {} Super super = new Super(); Sub sub = (Sub)super; 我相信这被称为“下”铸造,这是不允许的… 创建类型为Sub的对象的最佳方法是给出一个类型为Super的对象. 编辑: 这就是问题 – 将动物转化为猫的最佳方式是什么? 答案?从基本类型的动物开始,并将属性复制到猫.添加毛皮和尾巴等.基本上是一个复制构造函数.这是正确的答案(还是一个很好的答案)? 其他编辑: 我认为我的问题很清楚,但也许是一般的.要求“最好”的方式做某事往往会给出很多不同的回应.我意识到最好的方式可以在不同的情况下有所不同. 我不是在寻找有关Java或OO基础知识的教程.只是钓鱼的意见,所以我可以解决这个问题,因为我已经概述了使用最佳做法. 解决方法
猫是动物.
如果我给你一只动物(不必是猫),那么你怎么把它转换成一只猫呢? 编辑: 有办法做几乎任何事情.大多数时候,你不应该.我相信更好的设计将不再需要倒车.但是你可以: >在Super中有一个构造函数,它以Sub为参数. 我建议你扩大你的问题,告诉我们你需要什么,因为我真的认为一个更优雅的解决方案存在. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |