我在Greenfoot做了一个项目,我做了一个想象的数字课.在我的项目中,我发现需要将两个虚构对象一起添加(或减去或其他),是否有办法添加两个这样的对象?这就是它在完美世界中的表现:
    Imaginary i1 = new Imaginary(1.7,3.14);
    Imaginary i2 = new Imaginary(5.3,9.1);
    //the class Imaginary has parameters (double real, double imaginary)
    Imaginary i3 = i1+i2;
那可能吗?
您所描述的内容称为"运算符重载",它无法用Java实现(至少是由您和我这样的程序员完成;开发人员可以自由执行此操作并使用String类完成此操作).相反,您可以创建一个add方法并调用它:
Imaginary i3 = i1.add(i2);
Java没有运算符重载。
例如,BigDecimal如果您可以编写a + b而不是a.add(b).
方式一。
Imaginary i3 = i1.add(i2);
方法:
public static Imaginary add(Imaginary i2)
{
    return new Imaginary(real + i2.real, imaginary + i2.imaginary);
}
方式二。
Imaginary i3 = add(i1, i2)
方法:
public static Imaginary add(Imaginary i1, Imaginary i2)
{
    return new Imaginary(i1.real + i2.real, i1.imaginary + i2.imaginary);
}
运算符重载肯定会使设计比没有它更复杂,并且它可能导致更复杂的编译器或减慢 JVM。
试试这样.
Imaginary i3 =new Imaginary(i1.real+i2.real,i1.imaginary+i2.imaginary);
如果要添加Object,可以创建添加方法.
public static Imaginary add(Imaginary i1,Imaginary i2)
{
return new Imaginary(i1.real+i2.real,i1.imaginary+i2.imaginary);
}
并从此创建对象
Imaginary i3 =add(i1,i2);
| 归档时间: | 
 | 
| 查看次数: | 18893 次 | 
| 最近记录: |