Java 将在一个类的主体中创建的对象传递给另一个类

Java 将在一个类的主体中创建的对象传递给另一个类,java,Java,我有这门课: public class Example { public void static main(String[] args) { Object obj = new Object(); OtherClass oc = new OtherClass(obj); } } public class OtherClass { private Object object; public OtherClass(Object

我有这门课:

public class Example
{
    public void static main(String[] args)
    {
        Object obj = new Object();
        OtherClass oc = new OtherClass(obj);
    }
}

public class OtherClass
{
    private Object object;
    public OtherClass(Object ob)
    {
    this.object = ob;
    }
}
现在我将在另一个主目录中使用OtherClass。我该怎么办? 这是我想使用前面在类示例中创建的OtherClass对象的类

public class myownmain
{
    public static void main(String[] args)
    {
        // Here I need OtherClass object created in Example class
    }
}

这些不同类中的主要函数代表不同的应用程序,您将无法从一个应用程序中引用另一个应用程序中创建的对象


如果您想在另一个主函数中使用类似的对象,只需创建新实例并使用它们即可。您试图实现的目标并不明显。

这些不同类中的主要函数代表不同的应用程序,您将无法从一个应用程序中引用另一个应用程序中创建的对象


如果您想在另一个主函数中使用类似的对象,只需创建新实例并使用它们即可。虽然您试图实现的目标并不明显。

一个Java程序通常只有一个
main
方法,或者更具体地说,当您的程序启动时,只会调用一个
main
方法。但是,可以从您的方法调用另一个
main
方法

如果不重新构造上面的
示例
类,则无法执行此操作,因为
OtherClass
实例是
main
方法中的局部变量,因此无法检索它

一种解决方案是在您自己的
main
方法中实例化
OtherClass

public class myownmain {
    public static void main(String[] args) {
        Object obj = new Object();
        OtherClass oc = new OtherClass(obj);
    }
}
另一个选项是重写
示例
类,以将
其他类
实例作为静态属性公开:

public class Example {
    private static OtherClass oc;

    public static OtherClass getOc() {
        return oc;
    }

    public static void main(String[] args) {
        Object obj = new Object();
        oc = new OtherClass(obj);
    }
}
然后调用
Example.main
,就可以得到这个实例:

public class myownmain {
    public static void main(String[] args) {
        Example.main(args);
        OtherClass oc = Example.getOc();
    }
}

Java程序通常只有一个
main
方法,或者更具体地说,当程序启动时,只调用一个
main
方法。但是,可以从您的方法调用另一个
main
方法

如果不重新构造上面的
示例
类,则无法执行此操作,因为
OtherClass
实例是
main
方法中的局部变量,因此无法检索它

一种解决方案是在您自己的
main
方法中实例化
OtherClass

public class myownmain {
    public static void main(String[] args) {
        Object obj = new Object();
        OtherClass oc = new OtherClass(obj);
    }
}
另一个选项是重写
示例
类,以将
其他类
实例作为静态属性公开:

public class Example {
    private static OtherClass oc;

    public static OtherClass getOc() {
        return oc;
    }

    public static void main(String[] args) {
        Object obj = new Object();
        oc = new OtherClass(obj);
    }
}
然后调用
Example.main
,就可以得到这个实例:

public class myownmain {
    public static void main(String[] args) {
        Example.main(args);
        OtherClass oc = Example.getOc();
    }
}

您应该只有一个
main(String[]args)
方法。如果要从示例类传递OtherClass,请创建如下方法

public static OtherClass getOtherClass(Object obj) {
   return new OtherClass(obj);
}
然后在MyOwnMain类中添加


但正如所说的@Eng.Fouad,如果你想有两个正在运行的应用程序,只需跟随他的链接。

你应该只有一个
main(String[]args)
方法。如果要从示例类传递OtherClass,请创建如下方法

public static OtherClass getOtherClass(Object obj) {
   return new OtherClass(obj);
}
然后在MyOwnMain类中添加


但正如所说的@Eng.Fouad,如果你想有两个运行中的应用程序,只需跟随他的链接。

那么基本上你运行的是两个应用程序,你想在它们之间传递数据吗?看看.@Eng.Fouad是的,没错。这就是我试图做的…但我失败了,所以基本上你运行两个应用程序,你想在它们之间传递数据?看看.@Eng.Fouad是的,没错。这正是我试图做的…但我失败了您的解决方案这对我的案例研究来说并不舒服,因为对象obj应该是web服务器的一个实例。我无法两次传递web服务器的实例,因为对象obj=新对象()在我的例子中,是一个web服务器的距离。它已经在exxaple类中创建。我无法再次将它传递给myownmain,因为这样它应该两次创建。不幸的是,您的解决方案不适合我的案例研究,因为对象obj应该是web服务器的距离。我无法传递web服务器的实例twicebecause对象在我的例子中,obj=new Object()是web服务器的一个实例。它已经在exxaple类中创建。我无法将它再次传递给myownmain,因为这样它应该创建两次