JAVA return 来自构造函数的值

JAVA return value from constructor

public class RightAngleTriangle
{
    int height;
    int width;
    double area;
    double perimeter;

    public RightAngleTriangle()
    {
        height = 1;
        width = 1;
    }

    public RightAngleTriangle(int hei, int wid)
    {
        if(hei > 0 && wid > 0)
        {
            height = hei;
            width = wid;
        }
        else
        {
            height = 1;
            width = 1;
        }
    }

    public double area()
    {
        area = height * width;
        return area;
    }

    public double perimeter()
    {
        perimeter = (height * 2) + (width * 2);
        return perimeter;
    }

    public boolean isIsosceles()
    {
        if(height == width)
        {
            return true;
        }
        return false;
    }

    public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
    {
        if (area(RightAngleTriangle) > area(anotherRightAngleTriangle))
        {

        }
    }

}

对于方法 largerThan() 我怎样才能做到 largerThan() returns true 当且仅当这个 RightAngleTriangle 的面积大于anotherRightAngleTriangle 的面积。我不确定如何比较这些区域,因为 area 是在本地计算的。我尝试全局初始化 area 但我需要返回值而不是初始化值。

正如注释largerThan()不是构造函数,是方法

现在回答你的问题

您需要在当前实例和作为参数传递的对象中调用该方法

public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
    if (this.area() > anotherRightAngleTriangle.area( ))
    {
         //your logic
    }
}

或简单的做

public boolean largerThan(RightAngleTriangle anotherRightAngleTriangle)
{
   return this.area() > anotherRightAngleTriangle.area();
}