簡體   English   中英

B類擴展了A類,但A類具有B類的屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM