我正在为一家金融公司提供后端服务。此应用程序是使用 jpos、spring 3.0.5、hibernate 3.6 构建的。此应用程序将在 jpos 负责的多线程环境中运行。但是,我在应该使用哪种策略来定义可以在整个应用程序中访问的属性和数据成员的类之间感到困惑。
到目前为止,我所做的是:
public class MsgHandler
{
public Boolean isOffline = true;
public Boolean isSuccess;
public Long mobileTxnId;
setAllData()
{
mobileTxnId=1000;
..............
}
}
基本上,在这门课中,我曾经把我在整个过程中经常使用的所有必要数据都放在了上面。所以我扩展了MsgHandler
public class A extends MsgHandler
{
setAllData();
System.out.println("Mobile Txn Id: "+mobileTxnId) //its printing the values here
B b=new B();
b.useData();
}
现在另一个类 B也在扩展 MsgHandler 类,但是在类 BI 中没有得到在类 A中设置的 mobileTxnId 的空值
public class B extends MsgHandler
{
useData()
{
System.out.println("Mobile Txn Id: "+mobileTxnId) //its not printing the values here
}
}
为什么会发生这种情况,因为我正在扩展同一个类,但是在 A 类中,我得到了 mobileTxnId,但在 B 类中,我得到了 mobileTxnId 的空值。
将mobileTxnId设为静态是一个好习惯,即使应用程序要在多线程环境中使用,请建议我