安卓如何跨多个java类传递相同的对象?
我有一个要跨多个类使用的对象类。基本上,我希望这个对象被用作一个地方,我可以将信息转储到其中,然后解压这些信息
比如说,我有5节课
Class1将返回一个box对象-->;Foo(对象)将存储该框
Class2将返回一个snake对象-->;Foo(对象)将存储蛇
Class3将返回一个圆形对象-->;Foo(对象)将存储圆
Class4将返回一个食物对象-->;Foo(object)将存储食物
Class5将返回一个盒子、蛇、圆圈和食物对象-->;解包Foo(object)以返回盒子、蛇、圆圈和食物对象
我该怎么做?如果可能的话,你能为这种场景提供一些示例代码吗?如果需要进一步澄清,请告诉我
# 1 楼答案
你可以做到:
编辑
这就是活动
第二条路
如果让对象从SharedReference扩展的类调用其数据,比如
从类A创建一个对象,其构造函数使用SharedReferences类填充对象数据
# 2 楼答案
有点像收藏家,对吧
创建一个将累积对象的类:
将EventCollector实例传递给你的盒子、蛇、食物、圆圈对象:
对食物、盒子、蛇等也要这样做。。。对所有这些对象调用pack方法
最后,所有对象都将位于EventCollectior中
# 3 楼答案
在使用Java时,请记住,该语言非常倾向于在编译时获得可用信息
你要做的基本上是在运行时确定这一点,你只能通过返回对象并将其转换到你期望的类来实现
在您的情况下,您需要有一个包含所有要存储的不同类型的公共超类,一个由所有类型实现的接口,或者只使用对象。您可以将其存储在任何此类集合中,如ArrayList
然后,当你取回对象时,你需要使用“instanceof”来找出你在看什么,然后将其转换为适当的类型
请注意,这是冗长且容易出错的,您可能需要重新考虑并学习泛型
# 4 楼答案
您可以使用},其中有一个
dump
方法创建interface
,并使用所有要使用的类实现interface
。如果你的interface
被称为Dumper
,如果可能的话,你需要在你打算使用它的所有类中实现它。如果没有,例如,类EvilGuy
超出了您的控制范围,您可以简单地创建一个EvilGuyWrapper
{EvilGuy
的成员并实现Dumper