У меня есть следующие два класса в Java, из которых я могу использовать для вычисления результатов комплексных чисел.
class Calculator{
private ComplexNumber compNum1;
private ComplexNumber compNum2;
public Calculator(){
compNum1 = new ComplexNumber();
compNum2 = new ComplexNumber();
}
public Calculator(ComplexNumber compNum1, ComplexNumber compNum2){
this.compNum1 = compNum1;
this.compNum2 = compNum2;
}
public ComplexNumber addTwoNumbers(){
ComplexNumber sumOfTwoNumbers = new ComplexNumber();
sumOfTwoNumbers.real = compNum1.real + compNum2.real;
sumOfTwoNumbers.imaginary = compNum1.imaginary + compNum2.imaginary;
return sumOfTwoNumbers;
}
public ComplexNumber subTwoNumbers(){
ComplexNumber differenceOfTwoNumbers = new ComplexNumber();
differenceOfTwoNumbers.real = compNum1.real - compNum2.real;
differenceOfTwoNumbers.imaginary = compNum1.imaginary - compNum2.imaginary;
return differenceOfTwoNumbers;
}
public ComplexNumber mulTwoNumbers(){
ComplexNumber productOfTwoNumbers = new ComplexNumber();
productOfTwoNumbers.real = (compNum1.real*compNum2.real) - (compNum1.imaginary*compNum2.imaginary);
productOfTwoNumbers.imaginary = (compNum1.real*compNum2.imaginary) + (compNum1.imaginary*compNum2.real);
return productOfTwoNumbers;
}
}
class ComplexNumber{
public double real;
public double imaginary;
public ComplexNumber(){
real = 0.0;
imaginary = 0.0;
}
public ComplexNumber(double real, double imaginary){
this.real = real;
this.imaginary = imaginary;
}
}
Существует конструктор по умолчанию, который я определил для класса ComplexNumbers , но для класса Calculator поля данных являются ссылками, а не примитивными типами данных или даже String, если я объявлю конструктор по умолчанию для калькулятора, как то, что я сделал в коде ??
Спасибо!