2013-03-29 33 views
0

我有A類的變量擴展到B級。對於我必須寫:繼承在Java中:擴展另一個類的時候,我已經延長一個

public class B extends class A 

但在我的情況下,地方已被「擴展javax.swing.JFrame」佔用。它看起來像:

public class B extends javax.swing.JFrame 

請提出的方法來繼承類A類B.變量我是很新的這個領域。所以請解釋一下。

+0

你可以嘗試多繼承。 –

回答

3

無論是應用組合物或創建B類的內部類延伸的A級

class B extends JFrame { 
    A a = ... // this is one option 

    class C extends A { 
     // this is another option 
    } 

} 
+0

它仍然在說「包不存在」 –

+0

所有類和變量都是公共的。 –

+0

現在有什麼問題? –

1

你可以這樣做:

public class A extends javax.swing.JFrame{ 

... 

} 

然後

public class B extends A{ 

... 

} 
2

的Java不支持多重繼承,所以不能同時擴展AJFrame

您可以將A轉換爲接口,或將A的實例嵌入到B中。

1

使用組合或聚合。瞭解更多關於Has-A的關係。

閱讀thisthis

1

多重繼承是在Java中不支持。但是Java仍然提供了其他方法來實現多重繼承。

  1. 檢查您是否可以通過使用接口解決問題,因爲您可以實現多個接口。
  2. 使用組合或聚合。從根本上說,我們使用繼承來實現代碼可重用性。使用合成/聚合也可以達到同樣的效果。
  3. 使用內部類(可以延長使用內部類多類)
1

製作A類接口和B是這樣實現的:

public interface A{ 
public ....[Variables] 
} 

public class B extends javax.swing.JFrame implements A{ 
    ... 
} 
相關問題