2009-11-25 104 views
1

我有3個類,我已經寫了下面的一些部分。當我在AddStudent類中寫入`this語句時,它將顯示abcd1234哪個是密碼,但是當我將它寫入MainFrame類時,它將返回null.why ??? (我使用AddStudent的構造函數將我的管理對象從MainFrame發送到AddStudent)(我需要在大型機的AddStudent類中創建的管理對象的信息) 我該怎麼辦?爲什麼它返回null?

management.getStudentsPassword(); 

我傳遞addStudent類:

public class AddStudent extends javax.swing.JDialog { 

private SystemManagement management; 


/** Creates new form AddStudent */ 
public AddStudent(java.awt.Frame parent, boolean modal, SystemManagement management) { 
    super(parent, modal); 
    initComponents(); 
    this.management = management; 

} 

我的MainFrame類:

public class MainFrame extends javax.swing.JFrame { 

/** Creates new form MainFrame */ 
private SystemManagement management; 
. 
. 
.} 

我SystemManagement類:

private String studentsPass; 
... 
public void setStudentspassword(String password){ 
studentsPass = password; 
} 
public String getStudentsPassword(){ 
return studentsPass; 
} 
+1

你需要展示它是如何連接在一起在主機類... 另外,在我看來,這應該與「功課」被標記... – Stephen 2009-11-25 09:16:18

回答

6

原因之一 - 當您在MainFrame中調用getStudentsPass()時,未設置密碼。

原因二 - 您在MainFrame中使用的SystemManagement對象和您在AddStudent中獲得的SystemManagement對象完全不一樣。

很難說沒有更多的代碼。但我更喜歡Reason One - 檢查程序流程,密碼何時設置,什麼時候嘗試獲取。

+0

我在傳遞addStudent與setStudentPassword()設置密碼類。在AddStudent類中,我的句子返回正確的密碼,但在MainFrame中它沒有。 – Johanna 2009-11-25 09:19:32

+0

我認爲Dialog的'AddStudent'是從'MainFrame'派生出來的。在對話框可見之後,而不是在之前檢查是否真的在'MainFrame'中調用'getStudentsPassword()'。 – 2009-11-25 09:42:02

0

從你的問題不清楚你的setStudentPassword是從哪裏調用的,如果它仍然離開studentsPass null,它不能被調用。