1

我必须将 A 类的变量扩展到 B 类。为此我必须写:

public class B extends class A

但就我而言,这个地方已经被“扩展 javax.swing.JFrame”占据了。看起来像:

public class B extends javax.swing.JFrame

请建议任何将变量从 A 类继承到 B 类的方法。我对这个领域很陌生。所以请解释一下。

4

6 回答 6

4

要么使用组合,要么在类 B 中创建一个扩展类 A 的内部类。

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

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

 }
于 2013-03-29T06:45:51.077 回答
3

Java 不支持多重继承,因此不能同时扩展AJFrame

你可以A变成一个接口,或者嵌入一个Ainto的实例B

于 2013-03-29T06:46:51.847 回答
1

你可以这样做:

public class A extends javax.swing.JFrame{

...

}

进而

public class B extends A{

...

}
于 2013-03-29T06:46:17.247 回答
1

使用组合或聚合。了解有关Has-A关系的更多信息。

阅读这个这个

于 2013-03-29T06:48:34.243 回答
1

Java 不支持多重继承。但是Java仍然提供了其他方式来实现多重继承。

  1. 检查是否可以使用接口解决它,因为您可以实现多个接口。
  2. 使用组合或聚合。从根本上说,我们使用继承来实现代码的可重用性。同样可以使用组合/聚合来实现。
  3. 使用内部类(您可以使用内部类扩展多个类)
于 2013-03-29T06:48:53.317 回答
1

使 A 类成为接口,B 像这样实现它:

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

public class B extends javax.swing.JFrame implements A{
   ...
}
于 2013-03-29T07:31:22.510 回答