2015-09-28 55 views
0

聲明一個新的空對象我創建了一個類,並把它命名爲「PaymentObject」我如何在androidStudio

public class PaymentObject implements Serializable { 

     double precentsValue; 
String PrecentsText; 

@Override 
public String toString() { 
    return PrecentsText; 
} 




public PaymentObject(String paymenttext,double paymentvalue) 
{ 
    this.PrecentsText=paymenttext; 
this.precentsValue=paymentvalue; 


} 
public String getPrecentsText(){return PrecentsText;} 
public void setPrecentsText(String percents){this.PrecentsText=percents;} 
public double getPrecentsValue(){return precentsValue;} 
public void setPrecentsValue(double percentsvalue) {this.precentsValue=percentsvalue;} 


} 

在我的MainActivity類別我想初始化PaymentObject類型 的新對象,然後設置值給對象。 這樣的:

PaymentObject po = new PaymentObject(); 
    po.setPrecentsValue(1); 
    po.setPrecentsText("100%"); 

,但是當我這樣做還有一個錯誤「在PaymentObject PaymentObject(字符串,雙)不能適用於()」 (全髖關節置換工作,只有當我添加的值時,我聲明對新對象) 但我想打開一個對象,然後設置值... 我該怎麼辦? 謝謝!

回答

1

要創建空的對象只需創建一個默認的構造函數:

public PaymentObject(){} 

當你不聲明默認構造函數(不帶參數) - 這就像你禁止建立空的對象。

1

您沒有沒有參數的構造函數。你有明確的創建一個。

public PaymentObject(){ 
    //initialize maybe with default values if any based on use case 
} 

您可能想要閱讀this

1

在Code Listing中,您已將默認構造函數行爲修改爲接受兩個參數。

我會建議,有2個構造函數一個沒有參數和一個與它。

這樣,您可以在需要時創建一個空對象,或者使用具有初始化成員變量的對象。

修改這樣的代碼:

public class PaymentObject implements Serializable { 

     double precentsValue; 
     String PrecentsText; 

@Override 
public String toString() { 
    return PrecentsText; 
} 

public PaymentObject() 
{ 

} 

public PaymentObject(String paymenttext,double paymentvalue) 
{ 
    this.PrecentsText=paymenttext; 
    this.precentsValue=paymentvalue; 

} 

public String getPrecentsText(){return PrecentsText;} 
public void setPrecentsText(String percents){this.PrecentsText=percents;} 
public double getPrecentsValue(){return precentsValue;} 
public void setPrecentsValue(double percentsvalue) {this.precentsValue=percentsvalue;} 


}