Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从另一个类[JAVA]访问同一对象_Java_Object_Global - Fatal编程技术网

如何从另一个类[JAVA]访问同一对象

如何从另一个类[JAVA]访问同一对象,java,object,global,Java,Object,Global,我正在管理一个GUI,我想知道是否有任何方法可以管理从一个类到另一个类的GUI实例。我可以更好地解释: 一个类创建GUI对象,有没有办法从另一个类修改同一个GUI对象? 即使我将对象创建为public,如果没有收到错误“无法对非静态字段进行静态引用”,我也无法访问它 我被这个问题困住了,因为在java中没有C风格的全局变量。。。 如果不可能,我如何创建一个智能管理GUI系统? 如果我在一个类中创建GUI,那么由于其他类中发生的情况,我以后如何才能修改它?您可以通过多种方式来完成。e、 g- 将c

我正在管理一个GUI,我想知道是否有任何方法可以管理从一个类到另一个类的GUI实例。我可以更好地解释: 一个类创建GUI对象,有没有办法从另一个类修改同一个GUI对象? 即使我将对象创建为public,如果没有收到错误“无法对非静态字段进行静态引用”,我也无法访问它 我被这个问题困住了,因为在java中没有C风格的全局变量。。。 如果不可能,我如何创建一个智能管理GUI系统?
如果我在一个类中创建GUI,那么由于其他类中发生的情况,我以后如何才能修改它?

您可以通过多种方式来完成。e、 g-

  • 将class1的
    引用
    传递给class2的实例
  • Singleton
    您可以创建的对象,该对象在整个应用程序中始终相同

  • 我认为您可以为GUI使用单例类

    public class GUI {
    private static GUI ourInstance = new GUI();
    
    public static GUI getInstance() {
        return ourInstance;
    }
    
    private GUI() {
        //private constructor
    }
    public void method() {}
    }
    
    然后你可以在任何地方使用。 单例类意味着只有一个对象在内存中

    GUI.getInstance().method();
    

    将对象的
    引用
    传递给另一个类的实例你能更好地解释第一个解决方案吗?辛格尔顿解决了我的问题。。。但我也想了解第一个解决方案“Singleton解决了我的问题”,听起来不错,但你们并没有投票:)。要了解第一种解决方案,您需要首先了解is-a和has-a关系。请找到这个链接,可能会给你一些想法。