我很高兴我找到了这个论坛。我是 Java 新手(初学者),正在学习如何使用 setter、getter 和构造函数。我遇到了一个错误,不知道如何解决它。请帮助我隔离此错误。我写了两个类,第一个是一个名为 MyCalc 的简单 Java 应用程序,它有两个方法 Add()、Multiply() 和一个 setter setXY。MyCalc 类是使用静态 void main() 实例化的。
第二类“MyCalcTest”调用第一类。独立的 java 应用程序 MyCalc 运行良好,没有错误。但是当我尝试使用来自 MycalcTest 的 setter 'setXY' 来设置参数值时,elipse 不允许我使用 setXY。有什么理由吗?
这是两个类的代码:
1)
public class MyCalc {
private double x, y;
//findout why it's throwing an error using setXY method from MyClacTest class
public void setXY(double x, double y) {
this.x = x;
this.y = y;
}
//this constructor with params works fine when called from MyCalcTest class
/*public MyCalc(double a, double b){
this.x = a;
this.y = b;
}*/
//getters
public double Add(){
return x+y;
}
public double Multiple(){
return (x * y);
}
public static void main(String[] args) {
//this works when called MyCalc with parameters
//MyCalc calc = new MyCalc(5, 5);
MyCalc calc = new MyCalc();
calc.setXY(5, 5);
System.out.println("Addition: " + calc.Add());
System.out.println("multiplication :" + calc.Multiple());
}
}
2)
public class MyCalcTest {
//this works when called MyCalc with parameters
//MyCalc calc = new MyCalc(5, 5);
MyCalc calc = new MyCalc();
//this doesn't workto set x,y why??
calc.setXY(5, 5);
}