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,因为这样它应该创建两次