首页 > 解决方案 > 无法从双重转换为类

问题描述

我有一个名为 Complex 的类,它存储实数和虚数。我必须包含一个表示这个的 Complex 类的常量,但是,由于无法将 double 转换为 Complex 的不匹配,它无法编译。

我是 Java 新手,想知道如何解决这个问题,请解释原因以便我学习。

public final class Complex {
    public static final Complex ONE = 1.0 + 0.0 * Math.sqrt(-1);
    public static final Complex I = 0.0 + 1.0 * Math.sqrt(-1);
    private double re;
    private double im;
}

标签: java

解决方案


看起来您需要很好地了解对象构造函数在 Java 中的工作方式

您引用的代码示例中有几个问题,但我将专注于我认为您要问的问题。

Complex您想要一个为给定随机数初始化的实例。首先,您需要定义Complex对象的外观并构造

public class Complex {
    private final double re;
    private final double im;

    public Complex(double real, double imaginary){
        this.re = real;
        this.im = imaginary;
    }
}

然后要构造一个类的实例,你会做这样的事情:

public static void main(String[] args) {
    Complex complex = new Complex(1, 0);
    double realValue = complex.getRe(); // returns 1
    double imaginaryValue = complex.getIm(); //returns 0
}  

推荐阅读