本人菜鸟,遇到一个问题。
有两个java的程序需要传递实例。
例如:App1中有个 Object myobj = new Object();
如何将Object传到App2中去呢?
谢谢!

解决方案 »

  1.   

    传是什么意思?
    你直接public static Object myobj = new Object();
    不就可以直接通过类名来使用myobj这个引用了 !
      

  2.   

    最简单的一种方法:用文件传递writeFileStream.writeObject(yourObject);
    yourObject = readFileStream.readObject();
      

  3.   

    app1 :  writeFileStream.writeObject(yourObject);
    app2 :  yourObject = readFileStream.readObject();
      

  4.   

    刚才那条是针对interhanchi(路曼曼其修远兮,吾将上下而求索.) 说的。
    sjjf(水晶剑锋)说的还没有试,不过在这先谢过啦
      

  5.   

    请问PropertyChangeListener可以满足楼主的要求吗,具体这个我不清楚,只是以前看到过一点,不知道对不对,还望高手解答一下
      

  6.   

    //==============MyApp1.java========================//
    public class MyApp1{
    public static Test t = new Test();
    }class Test{
    public static int i = 0;
    public void out(){
    System.out.println(i);
    }
    public void set(int n){
    i = n;
    }
    }
    //==============MyApp2.java========================//
    public class MyApp2{
    public static void main(String [] args){
    MyApp1.t.set(3);
    MyApp1.t.out();
    }
    }
    //==============MyApp3.java========================//public class MyApp3{
    public static void main(String [] args){
    MyApp1.t.out();
    }
    }
    //=============================================
    先后运行MyApp2 和 MyApp3是不是应该都是3;可是MyApp3是0啊。
      

  7.   

    ^_^,MyApp3肯定是0了,MyApp2中的MyApp1.t.set(3);只是在MyApp2这个空间内有效,出了这个空间,i还是0;
      

  8.   

    噢,明白了,MyApp2和MyApp3是不同空间,
    如果把三个放在同一个文件里,稍做修改就输出3 3啦
      

  9.   

    MyApp1.java
      FileOutputStream fo=new FileOutputStream("data.ser");
      //保存对象的状态
      ObjectOutputStream so=new ObjectOutputStream(fo);
        Test test = new Test();
        test.set(3);
      try{
        so.writeObject(test);
        so.close();
      }catch(IOException e ){System.out.println(e);}MyApp2.java
      FileInputStream fi=new FileInputStream("data.ser");
      ObjectInputStream si=new ObjectInputStream(fi);
      //恢复对象的状态
      try{
           Test test =(Test)si.readObject();
           System.out.println(test.out());
        si.close();
      }catch(IOException e ){System.out.println(e);}
      

  10.   

    没有写过,但应该是对的
    1。通过文件。 上面都写了,或者写 数据库数据
    2。通过网络通信。 如socket,jms,java mail等都是这一类3。共享存贮区     需要用windows api。。以上都是进程通信方式。其中通过文件也属于第二种。再楼主要的非数据结构,而是类的实例,所以3这个不太现实,用1,或者2。对象要序列化即可。