在Java中传递自定义对象

在Java中传递自定义对象,java,Java,我知道这可能是非常基本的,我为不知道如何做而感到羞愧(更糟糕的是,在寻找解决方案时失败了) 如何将thing类型的对象从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类型的对象从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

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


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

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

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();
}

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

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();
}

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


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


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

现在还不清楚您想做什么。但是,请查看复合方法或工厂方法模式
我认为这可能会有所帮助。

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

现在还不清楚您想做什么。但是,请查看复合方法或工厂方法模式
我认为这可能会有所帮助。

现在还不清楚你在这里试图做什么。东西被声明为静态的吗?你的目标到底是什么。特别是你试图调用什么C方法?不清楚你在这里试图做什么。东西被声明为静态的吗?你的目标到底是什么。特别是你试图调用什么C方法?