我尝试运行程序,但我得到了这四个错误。
TestCusomer.java:25:错误:Invoice中的toString()无法覆盖Object中的toString()(第49行同样的事情)
和
第59行无法找到符号。 myCustomer.setTrn(112233778)
第60行无法找到符号。 myCustomer.setPersentage(150)
我的程序如下:
class Invoice
{
int trn; //TAX REGISTRATION NUMBER
int persentage;
public Invoice{}
public int setTrn(int trn){
this.trn = trn;
}
public int getTrn(){
return trn;
}
public void setPersentage(int persentage){
this.persentage = persentage;
}
public int getPersentage(){
return persentage;
}
String toString(){
System.out.println(trn+" : "+persentage);
}
}
class Customer{
int trn;
int charging= 0;
public Customer(int trn){
this.trn = trn;
}
public int charge(int amount){
charging = charging + amount;
}
public int charge(int amount , int trn){
if (this.trn == trn){
charging = charging + amount;
}
}
String toString(){
System.out.println(trn+" : "+charging);
}
}
class TestCustomer
{
public static void main(String[] args){
Customer myCustomer = new Customer(112233778);
myCustomer.charge(100);
myCustomer.setTrn(112233778);
myCustomer.setPersentage(150);
System.out.println(myCustomer);
}
}
答案 0 :(得分:2)
很少,
toString
方法公开toString
种方法cannot find symbol...
是因为Customer
中没有定义这些方法,Invoice
答案 1 :(得分:0)
你的toString()方法需要返回String对象。您正在输出一个字符串但不返回字符串。也将它们公之于众。
例如,Invoice类的toString()方法应为:
public String toString()
{
return trn + " : " + persentage;
}
对于您的第二个问题(找不到符号),这些方法位于Invoice类中,而不是Customer类中,因此无法在Customer对象上调用它们。