Конструктор по умолчанию для ссылочных переменных (ссылок) в Java - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть следующие два класса в 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, если я объявлю конструктор по умолчанию для калькулятора, как то, что я сделал в коде ??

Спасибо!

...