【发布时间】:2016-01-22 03:40:58
【问题描述】:
所以我知道这很令人困惑,但为什么会这样呢?如果我有
public class A implements Parcelable{
private B propB;
}
public class B extends A implements Parcelable{
private int stuff;
}
所以如果我曾经创建过一个
A objectA = new A();
不会有这样的无限循环: objectA.propB.propB.propB?
主要问题是我想将 android 中的 B 类实例作为包传递,但这不起作用,没有错误,只是数据没有通过。除了似乎是循环依赖的一个属性之外,所有属性和数据都通过了。
这是一种好的做法有什么原因吗?或者这不是一个好主意?
【问题讨论】:
-
澄清一下,如果您将其更改为
private B propB = new B(),您会收到 Stack Overflow...这是对另一条消失的评论的回应。 -
为什么不直接将对象 B 作为包传入呢?当您尝试创建 B 类的新实例时,您肯定会遇到堆栈溢出。
-
所以这是一个很好的做法,让一个属性成为它的属性的超类的子类?
标签: java android inheritance parcelable