我遇到了嵌套類和子類之間的關係問題。請看下面的代碼:在java中擴展具有內部類的類(以及在從一個類到另一個類時擴展內部類)
class Graph {
class Edge {
...
}
class Vertex {
List<Edge> _edges;
...
}
...
}
class WeightedGraph extends Graph {
class WeightedEdge extends Edge {
...
}
...
}
的事情是,對於WeightedGraph寫作方法的時候,我無法訪問_edges;編輯說它不能從Edge類型轉換爲WeightedEdge。我想我還必須擴展嵌套類Vertex,因爲在Graph中它使用類型Edge,並且在WeightedGraph中它必須使用類型WeightedEdge。什麼是一個很好的方法來做到這一點(無需重新編寫代碼)?
證明你是如何試圖訪問內部類的字段使用這個幫手。 – 2013-04-21 23:07:51
你不能'class WeightedEdge extends Edge'。邊是圖的內部類,只在父類(圖)內可見。 – 2013-04-21 23:21:18