两个值相同的构造函数获取错误[ANDROID]
为什么我不能用同一个参数(String,String,int)设置两个构造函数?但在我的例子中,必须应用不同的值,例如A活动输入accNo、phoneNo和amount,B活动输入accNo、billNo、amount 在android studio中,它会提示错误: 账单(字符串、字符串、整数)已定义两个值相同的构造函数获取错误[ANDROID],android,constructor,Android,Constructor,为什么我不能用同一个参数(String,String,int)设置两个构造函数?但在我的例子中,必须应用不同的值,例如A活动输入accNo、phoneNo和amount,B活动输入accNo、billNo、amount 在android studio中,它会提示错误: 账单(字符串、字符串、整数)已定义 不能有两个具有相同签名(或擦除)的构造函数。一种可能的解决方法是使用无参数构造函数&一种实例方法来完成您需要的工作: Bill bill = new Bill(); bill.method1(a
不能有两个具有相同签名(或擦除)的构造函数。一种可能的解决方法是使用无参数构造函数&一种实例方法来完成您需要的工作:
Bill bill = new Bill();
bill.method1(acc_no, phone_no, amount);
bill.method2(acc_no, bill_no, amount);
public method1(String acc_no, String phone_no, int amount_) {
this.acc_no = acc_no;
this.phone_no = phone_no;
this.amount_ = amount_;
}
public method2(String acc_no, String bill_no, int amount_) {
this.acc_no = acc_no;
this.bill_no = bill_no;
this.amount_ = amount_;
}
不能有两个具有相同签名(或擦除)的构造函数。一种可能的解决方法是使用无参数构造函数&一种实例方法来完成您需要的工作:
Bill bill = new Bill();
bill.method1(acc_no, phone_no, amount);
bill.method2(acc_no, bill_no, amount);
public method1(String acc_no, String phone_no, int amount_) {
this.acc_no = acc_no;
this.phone_no = phone_no;
this.amount_ = amount_;
}
public method2(String acc_no, String bill_no, int amount_) {
this.acc_no = acc_no;
this.bill_no = bill_no;
this.amount_ = amount_;
}
好的,你不能有两个相同的构造函数,没有意义,但是在你的例子中,你可以交换参数
public Bill(String acc_no, String bill_no, int amount_) {
到
好的,你不能有两个相同的构造函数,没有意义,但是在你的例子中,你可以交换参数
public Bill(String acc_no, String bill_no, int amount_) {
到
在android中,不能设置相同类型的两个构造函数 但这比改变参数的顺序更重要 下面是您修改的类
public class Bill {
String acc_no;
String bill_no;
String phone_no;
int amount_;
public Bill() {
}
public Bill(String acc_no, String bill_no, String phone_no, int amount_) {
this.setAcc_no(acc_no);
this.setBill_no(bill_no);
this.setPhone_no(phone_no);
this.setAmount_(amount_);
}
public Bill(String acc_no, String phone_no, int amount_) {
this.acc_no = acc_no;
this.phone_no = phone_no;
this.amount_ = amount_;
}
public Bill(String acc_no, int amount_, String bill_no) {
this.acc_no = acc_no;
this.bill_no = bill_no;
this.amount_ = amount_;
}
public Bill(String acc_no, int amount_) {
this.setAcc_no(acc_no);
this.setAmount_(amount_);
}
public String getAcc_no() {
return acc_no;
}
public void setAcc_no(String acc_no) {
this.acc_no = acc_no;
}
public String getBill_no() {
return bill_no;
}
public void setBill_no(String bill_no) {
this.bill_no = bill_no;
}
public String getPhone_no() {
return phone_no;
}
public void setPhone_no(String phone_no) {
this.phone_no = phone_no;
}
public int getAmount_() {
return amount_;
}
public void setAmount_(int amount_) {
this.amount_ = amount_;
}
}
在android中,不能设置相同类型的两个构造函数 但这比改变参数的顺序更重要 下面是您修改的类
public class Bill {
String acc_no;
String bill_no;
String phone_no;
int amount_;
public Bill() {
}
public Bill(String acc_no, String bill_no, String phone_no, int amount_) {
this.setAcc_no(acc_no);
this.setBill_no(bill_no);
this.setPhone_no(phone_no);
this.setAmount_(amount_);
}
public Bill(String acc_no, String phone_no, int amount_) {
this.acc_no = acc_no;
this.phone_no = phone_no;
this.amount_ = amount_;
}
public Bill(String acc_no, int amount_, String bill_no) {
this.acc_no = acc_no;
this.bill_no = bill_no;
this.amount_ = amount_;
}
public Bill(String acc_no, int amount_) {
this.setAcc_no(acc_no);
this.setAmount_(amount_);
}
public String getAcc_no() {
return acc_no;
}
public void setAcc_no(String acc_no) {
this.acc_no = acc_no;
}
public String getBill_no() {
return bill_no;
}
public void setBill_no(String bill_no) {
this.bill_no = bill_no;
}
public String getPhone_no() {
return phone_no;
}
public void setPhone_no(String phone_no) {
this.phone_no = phone_no;
}
public int getAmount_() {
return amount_;
}
public void setAmount_(int amount_) {
this.amount_ = amount_;
}
}
在Java中,不能使用相同的名称、相同的返回类型和相同的参数定义这两个构造函数,因为它无法区分它们的用法,这会导致歧义 一个可能的解决方案是添加第四个参数来区分这两个构造函数。不过,您不必使用第四个参数
public Bill(String acc_no, String phone_no, int amount_) {
this.acc_no = acc_no;
this.phone_no = phone_no;
this.amount_ = amount_;
}
public Bill(String acc_no, String bill_no, int amount_, int dummy) {
this.acc_no = acc_no;
this.bill_no = bill_no;
this.amount_ = amount_;
dummy = 0;
}
在Java中,不能使用相同的名称、相同的返回类型和相同的参数定义这两个构造函数,因为它无法区分它们的用法,这会导致歧义 一个可能的解决方案是添加第四个参数来区分这两个构造函数。不过,您不必使用第四个参数
public Bill(String acc_no, String phone_no, int amount_) {
this.acc_no = acc_no;
this.phone_no = phone_no;
this.amount_ = amount_;
}
public Bill(String acc_no, String bill_no, int amount_, int dummy) {
this.acc_no = acc_no;
this.bill_no = bill_no;
this.amount_ = amount_;
dummy = 0;
}
它是构造函数和方法的基本规则。我们可以使用相同名称的不同参数创建,但不能使用相同名称的相同参数创建。这是构造函数和方法的基本规则。我们可以使用相同名称的不同参数创建,但不能使用相同名称的相同参数创建。如果我更改为公共账单(字符串acc\u no,int amount\u,字符串Bill\u no){它不会影响输入值?因为我必须将这些值存储到SQLite中,所以在插入数据时不会影响查询?不会,因为您只交换构造函数的参数。可能影响查询的参数类型保持不变,String和int。如果我改为public Bill(String acc_No,int amount_,String Bill_No){它不会影响输入值?因为我必须将这些值存储到SQLite中,所以在插入数据时不会影响查询?不会,因为您只交换构造函数的参数。可能影响查询的参数类型保持不变,String和int。