//==============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啊。
你直接public static Object myobj = new Object();
不就可以直接通过类名来使用myobj这个引用了 !
yourObject = readFileStream.readObject();
app2 : yourObject = readFileStream.readObject();
sjjf(水晶剑锋)说的还没有试,不过在这先谢过啦
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啊。
如果把三个放在同一个文件里,稍做修改就输出3 3啦
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);}
1。通过文件。 上面都写了,或者写 数据库数据
2。通过网络通信。 如socket,jms,java mail等都是这一类3。共享存贮区 需要用windows api。。以上都是进程通信方式。其中通过文件也属于第二种。再楼主要的非数据结构,而是类的实例,所以3这个不太现实,用1,或者2。对象要序列化即可。