[英]Class B extends Class A but class A has a property of class B
所以我知道這很令人困惑,但是為什么行得通呢? 如果我有
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類的實例,但這是行不通的,沒有錯誤,只是數據沒有通過。 除了該屬性似乎是循環依賴項之外,所有屬性和數據都將通過。
為什么有這種良好做法? 還是不是一個好主意?
在任何情況下都不會發生錯誤,因為B對象只是A的私有字段,並且沒有初始化。 但是,如果創建一個新的B實例,則只能創建一個新的對象A()。
如果你想使用
objectA.propB.propB.propB .......
您可以獲取NullPointException。
無法傳遞數據的原因是包裹。 我沒有在子類B上調用super(in)。因此,盡管沒有錯誤,但是沒有任何數據通過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.