getx和getminx之间的区别

时间:2013-07-19 16:40:24

标签: java

我对Java的Rectangle类有疑问。我想知道它们之间有什么区别 rectangle.getX()rectangle.getMinX()。 当我谷歌搜索它时,在Java文档中我读了getX()

以double精度返回边界Rectangle的X坐标。

getMinX()我已阅读以下内容:

以double精度返回Shape的框架矩形的最小X坐标。

现在我想知道:如果对于一个Rectangle,怎么会有不同的X坐标,应该只有一个:

new Rectangle(0,0,100,100) = p1(0,0)|p2(100,0)|p3(0,100)|p4(100,100).

我明白是否例如getMaxX()类似于getX()+getWidth(),但getMinX()会是什么? 我对此很困惑。

我只需要一个简短的解释,我将非常感激。

2 个答案:

答案 0 :(得分:7)

矩形定义为:(x 1 ,y 1 ),(x 2 ,y 2 )。为了我们的目的,让我们表示(x 1 ,y 1 )和矩形的左上角和(x < sub> 2 ,y 2 )作为右下角

rectangle.getX()返回x 1 ,而rectangle.getMinX()返回x k ,以便:对于所有x i in X(x坐标的集合),x k &lt; = x i 。通过构造,矩形类定义x 1 ,使得x 1 = x k ,如源代码中所示:

public double getMinX() 
{
    return getX();
}

public double getX()
{
    return x;
}

并在构造函数中进一步解释:

  

Rectangle(int x,int y,int width,int height)      构造一个新的Rectangle,其左上角指定为(x,y)并且其中      width和height由同名参数指定。

 public Rectangle(int x, int y, int width, int height) 
 {
     this.x = x;
     this.y = y;
     this.width = width;
     this.height = height;
 }

注意:其他构造函数调用上面的那个。

答案 1 :(得分:2)

你是对的。对于Rectangle类,getMinX()getX()相同。

当您查看the source code for OpenJDK's Rectangle时,您可以看到:

public double getMinX() {
    return getX();
}

老实说,我还没有在OpenJDK中找到此方法的覆盖。也许我在看错了地方,我不确定。但所有形状(椭圆,弧等)都使用此实现。奇特。

现在,我认为唯一的区别是名称和推荐用法。他们都做同样的事情,但我会在不同的情况下使用其中一个:

  • getX()当我需要形状的位置时,一个点
  • getMinX()当我需要形状的左边界时