java多個類共享一個類中的變數
- 2021-10-04
如果實在不行,建議你 把資料寫到檔案中 然後在另一個檔案中讀出來,如果是要檢查 是否 檔案被修改 , 定時去檢查這個檔案就行了, 很囧……
可以將該變數定義在一個介面中,讓其它的類都實現這個介面,這樣就可以實現你的要求
你這個已經是2個程序了吧。呼叫了2個main方法。啟動了兩個java程序。
簡單的這樣不可能實現跨程序訪問變數的
而且你執行兩次了,的到的t2都不一樣的。
如果你把 Test5裡的main方法的方法體複製到 Test3的最後面,執行Test3的main方法 是不會報空指標的吧。
如果在同一main方法執行的程式碼中, 你可以使用定義一個介面
interface Test2StrChangeListener{
void onStrChange(String oldValue,String newValue);
}
然後再在Test2中定義一個泛型集合,List
public void setStr(String str) {
String oldValue = this。str;
String newValue = str;
this。str = str;
if(this。listeners != null )
{
listeners。onStrChangeListener(oldVaule,newValue);
}
}
然後在Test3 和 Test5中實現該介面Test2StrChangeListener。
再在Test3的main方法中將Test3和Test5的例項,新增到Test2中的listeners集合裡面去。
以後當呼叫Test2的setStr方法的時候,就好把新值和舊值傳到listeners裡面的例項去。
在Test3和Test5裡面就可以時時刻刻知道 Test2。str的最新值了。
同意wml199039的回答
main()方法結束了,就該釋放資源了,你還共享什麼。