2015-09-28 70 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;} 


}