0

我知道这可能是非常基本的,我为不知道如何做到这一点而感到羞耻(更糟糕的是,在寻找解决方案时没有成功)。

我如何将对象类型的对象A 传递到 C?

public class A extends B {

}

public class B {

    public class thing {

    }

}

public class C extends JFrame {

}

我可以访问 A 中的东西,因为我正在扩展 B,但是在使用类 C 时我无法扩展 B,因为我需要扩展 JFrame。

编辑

抱歉含糊不清。A类有一个thing类型的对象集合,我想遍历C类中的这些对象。

编辑 2

当然……显而易见的选择。使事物成为自己的类... :(

为了那些可能也有类似问题的人而承认耻辱。

4

3 回答 3

4

首先,如果它是一个内部类 - 你可能不应该从外部访问它......
但是,如果你坚持,你可以尝试如下:

public class A extends B {

}

public class B {

    public class thing {

    }

    private thing mything = new thing();
    public thing getThing(){
      return mything;
    }

}

public class C extends JFrame {
      A a = new A();
      Object thing = a.getThing();
}
于 2012-09-16T05:13:19.873 回答
0

从外部访问内部类通常是一个坏主意,但如果必须,我建议您查看本文中的委托设计模式:

委托设计模式

于 2012-09-16T05:21:15.470 回答
0

您可能尝试使用在 java 中不可能的多重继承!您可以使用接口来实现 2 种不同的行为,或者使用一些设计模式来实现这样的目标。

真的不清楚您要做什么。但是查看复合或工厂方法模式我认为它可能会有所帮助。

于 2012-09-16T05:47:00.317 回答