Java 为什么矩形类的add(intnewx,intnewy)方法修改高度和宽度参数?

Java 为什么矩形类的add(intnewx,intnewy)方法修改高度和宽度参数?,java,class,methods,rectangles,Java,Class,Methods,Rectangles,为什么在对box对象调用add(intnewx,intnewy)方法后宽度和高度会发生变化 实际上我只是在纸上画了一个笛卡尔坐标系的矩形。现在看来可能是因为插入了另一个矩形作为当前矩形的扩展。因此,它在宽度和高度上延伸。这是正确的吗 当您对核心Java方法的行为有疑问时,首先要看一下 将整数参数newx、newy指定的点添加到此矩形的边界。 如果此矩形的任何尺寸小于零,则适用非存在矩形的规则。在这种情况下,该矩形的新边界的位置等于指定的坐标,宽度和高度等于零 只需阅读文档即可。它确切地告诉你这个

为什么在对box对象调用add(intnewx,intnewy)方法后宽度和高度会发生变化

实际上我只是在纸上画了一个笛卡尔坐标系的矩形。现在看来可能是因为插入了另一个矩形作为当前矩形的扩展。因此,它在宽度和高度上延伸。这是正确的吗


当您对核心Java方法的行为有疑问时,首先要看一下

将整数参数newx、newy指定的点添加到此矩形的边界。
如果此矩形的任何尺寸小于零,则适用非存在矩形的规则。在这种情况下,该矩形的新边界的位置等于指定的坐标,宽度和高度等于零


只需阅读文档即可。它确切地告诉你这个方法的作用。你把矩形放大,以包含给定的点。当然,它的宽度和/或高度必须改变@king_nak是的,我在画画后想到了。add方法(newx,newy)的参数名使我认为矩形只会更改这些值。
import java.awt.Rectangle;

public class AddTester {
   public static void main(String[] args) {

    Rectangle box = new Rectangle(5, 10, 20, 30);
    System.out.println(box);
    //output: java.awt.Rectangle[x=5,y=10,width=20,height=30]    

    box.add(0, 0);
    System.out.println(box);
    //output: java.awt.Rectangle[x=0,y=0,width=25,height=40]
   }
}
public void add(int newx,  
                int newy)