我创建了一个类并将其命名为“PaymentObject”
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(字符串,双精度)无法应用于()” (仅当我在新对象上声明时添加值时,才会工作) 但我想打开一个空对象,然后设置值...... 我该怎么办? 谢谢!
答案 0 :(得分:1)
要创建空对象,只需创建一个默认构造函数:
public PaymentObject(){}
当你没有声明默认构造函数(没有参数)时 - 它就像你禁止创建空对象一样。
答案 1 :(得分:1)
您没有没有参数的构造函数。你明确地为此创建了一个。
public PaymentObject(){
//initialize maybe with default values if any based on use case
}
您可能需要阅读this。
答案 2 :(得分:1)
在“列出的代码”中,您已修改默认构造函数行为以接受两个参数。
我建议,有2个构造函数,一个没有参数,另一个没有参数。
这样您就可以在需要时创建一个空对象,或者使用Initialized成员变量创建一个对象。
修改代码如下:
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;}
}