我有2個文本字段和登錄按鈕的登錄頁面。單擊登錄按鈕時,將從txtfield檢索用戶名和密碼,並使用數據庫中的用戶名和密碼進行檢查。如果密碼和用戶名正確,則進入主頁面。我要獲取用戶名並在主頁面顯示名稱。但是,所有用於檢查數據庫並從數據庫中檢索數據的代碼都位於buttonActionPerformed的私有類中。儘管我從數據庫中檢索用戶名並將其存儲在變量中,但我無法從其他類訪問它,因爲它是私有類。那麼,我應該怎麼做才能訪問我在私人課堂中所傳遞的變量。我嘗試在私有類之外釋放變量並在私有類中更新它,但是當我從其他類調用時仍然空白。如何從java中的其他類訪問私有類內部變量的變量?
回答
public class PrivateInformationRetreiving{
private int PrivateInfo;
public void setPrivateInfo(int PrivateInfo)
{
this.PrivateInfo=PrivateInfo;
}
public int getPrivateInfo(){return PrivateInfo;}
}
說明
首先,瓦里能夠PrivateInfo
被宣佈爲private
,這意味着只有類PrivateInformationRetreiving
內的方法纔會知道PrivateInfo
。
所以,當我們想知道私有變量PrivateInfo
時,我們必須用public
方法來做到這一點。
public
元素不僅可以在課堂上使用,也可以在課堂以外使用。
因此,setPrivateInfo()
可以訪問PrivateInfo
,因爲它在類中。
因此,我們必須使用方法setPrivateInfo()
和getPrivateInfo()
作爲接口來訪問PrivateInfo
。
你能解釋一下嗎,因爲我是初學者,我不明白這一點。 – user2068452 2013-02-13 15:52:06
我會在我的回答中加上解釋 – 2013-02-13 15:55:48
我應該把這些代碼放在私人類還是別的地方? – user2068452 2013-02-13 16:10:45
如果你聲明它是私有的,你不能在類上下文之外訪問它。
一個選項是公開獲取器/設置器與變量進行交互。
public class MyClass {
private int x;
public int getX(){
return x;
}
public void setX(int value){
x = value;
}
}
「不能」是一個強詞。 – 2013-02-13 15:18:52
你是說這是不正確的?如果是這樣,請舉例說明。 – 75inchpianist 2013-02-13 15:20:35
你想讓我把這些代碼放在私人課程裏面,還是僅僅靠它本身? – user2068452 2013-02-13 16:01:55
在成功登錄後,只需將用戶數據添加到會話中,然後重定向。當您需要當前登錄的用戶名時,您不必再向數據庫創建另一個請求,因此速度更快,效率更高。
那麼,我該怎麼做才能訪問我在私人課堂裏放棄的變量。我嘗試在私有類之外釋放變量並在私有類中更新它,但是當我從其他類調用時仍然空白。
Reflection API用於訪問私有變量。如果你有一個類調用數據庫和它是defPU您就可以訪問它的私有字段(並將其設置爲null)如下:
Field defPUField = Database.class.getDeclaredField("defPU");
defPUField.setAccessible(true);
Field modsField = Field.class. .getDeclaredField("modifiers");
modsField.setAccessible(true);
modsField.setInt(defPUField, 10);
defPUField.set(null, testVal);
我建議你只是用dp4j來生成該代碼的反思你,幕後:
@com.dp4j.TestPrivates
void aMethod(){
Database.defPU = null;
}
- 1. 有權訪問Java中其他類的私有變量
- 2. 訪問java中其他類的私有變量
- 3. 如何從內部類訪問變量
- 4. 如何通過其他變量從java類訪問常量?
- 5. 如何從其他類訪問不同類中的變量?
- 6. 如何從python中的其他類訪問類變量?
- 7. 局部變量訪問內部類(java)
- 8. 類中的私有變量可以從Java中的main訪問?
- 9. Java從內部類單例中訪問外部類變量
- 10. 從其他類訪問int變量
- 11. 從其他類訪問變量
- 12. Python:從類中的其他類變量訪問類變量 - 可能嗎?
- 13. Java - 如何從外部類/或任何其他類的內部類變量分配變量?
- 14. 從內部類訪問私有變量(AsyncTask)
- 15. 如何從其他類訪問不同的類變量
- 16. c# - 如何在其他類的方法中從類的外部訪問變量?
- 17. 訪問類C++的私有變量
- 18. 其他類的訪問變量
- 19. Objective C訪問其他類的變量?
- 20. 如何訪問內部類中的外部類變量
- 21. 從內部類訪問變量
- 22. 如何訪問Java內部類中的非最終變量號?
- 23. Java內部類訪問變量在另一個內部類
- 24. 如何訪問外部類的變量在內部類在c#
- 25. 如何訪問的變量「i」從其他類
- 26. PHP OOP - 使用var_dump從外部類訪問私有變量?
- 27. 如何從內部類訪問外部類的類變量在紅寶石
- 28. 如何訪問C++/CLI管理類中的私有變量
- 29. Java內部類訪問外部類變量
- 30. 如何訪問其他類中的每個循環變量
你能告訴我們你的類和變量的代碼嗎? – Grambot 2013-02-13 15:08:21
你在說私人**班還是私人班?是你的私人班**內部/嵌套班? – Kent 2013-02-13 15:18:36
我試圖把代碼,但不允許放在這裏。我在談論私人課程。當我雙擊jframe上的按鈕時,會創建此私有類以在執行操作時執行代碼。 – user2068452 2013-02-13 15:44:58