2013-12-18 169 views
-2

我有問題要調用setCustomer方法。 編碼情況如下:Java方法覆蓋問題

public class Customer { 


    public int customerID = 001; 
    public String name ="name required"; 
    public String address ="address required"; 
    public String email ="email required"; 

public void setCustomer(int custID, String nm , String add){ 
} 

public void setCustomer(int custID, String nm , String add , String em){ 
} 


    public void displayCustomer(){ 

     System.out.println("Customer ID: " +customerID); 
     System.out.println("Customer Name: " +name); 
     System.out.println("Customer Address: " +address); 
     System.out.println("Customer Email: " +email); 

    }//end of display method 


}//end of class 


public class CustomerTest { 


    public static void main(String[] args) { 
     Customer c1 = new Customer(); 
     Customer c2 = new Customer(); 
     c1.setCustomer(002, "ishihi", "alalalla2"); 
     c2.setCustomer(003, "tututu", "kikiki","[email protected]"); 
     c1.displayCustomer(); 
     c2.displayCustomer(); 
    } 

} 

我得到的輸出是:

Customer ID: 1 
Customer Name: name required 
Customer Address: address required 
Customer Email: email required 
Customer ID: 1 
Customer Name: name required 
Customer Address: address required 
Customer Email: email required 

我要顯示我在主函數中C1和C2設置的內容,但它繼續顯示爲以上。

+0

怎麼樣在你設置的方法裏面設置它們 – Ashish

回答

1
public void setCustomer(int custID, String nm , String add){ } 

這種方法並沒有做太多,你的方法主體是{}畢竟,所以它應該是毫不奇怪,它沒有任何效果。編程不會通過魔法改變對象的狀態 - 你必須編寫代碼來做到這一點。填寫{},代碼設置您的對象的字段,您將看到神奇的生命。

2

setCustomer方法爲空

public void setCustomer(int custID, String nm , String add){ 
} 

public void setCustomer(int custID, String nm , String add , String em){ 
} 

實現你想要的行爲。

0

您需要在您的方法中實際設置所有類字段。他們目前是空的,什麼都不做。

public void setCustomer(int custID, String nm , String add){ 
    customerID = custID; 
    name = nm; 
    address = add; 
} 

public void setCustomer(int custID, String nm , String add , String em){ 
    customerID = custID; 
    name = nm; 
    address = add; 
    email = em; 
} 

並在您的main中使用這些方法。你目前沒有給他們打電話:

public static void main(String[] args) { 
    Customer c1 = new Customer(); 
    c1.setCustomer(1, "name1", "address1", "email1"); 
    Customer c2 = new Customer(); 
    c1.setCustomer(2, "name2", "address2", "email2"); 
}