писать в классах инициализаторы научился, но суть так и не понимаю, кто-нибудь может объяснить кратко и по человеческий? вот как пример, писать то научился, но так и не понимаю зачем, если итак без них можно вбить значения
public class Rectangle {
    private int top;
    private int left;
    private int height;
    private int width;

    public void initialize (int top, int width, int height, int left) {
        this.top = top;
        this.width = width;
        this.height = height;
        this.left = left;
    }

    public void initialize (int top, int left) {
        this.top = top;
        this.width = 0;
        this.height = 0;
        this.left = left;
    }

    public void initialize (int top, int width, int left) {
        this.top = top;
        this.width = width;
        this.height = width;
        this.left = left;
    }

    public void initialize(Rectangle rectangle) {
        this.top = rectangle.top;
        this.left = rectangle.left;
        this.width = rectangle.width;
        this.height = rectangle.height;
    }

    public static void main(String[] args) {

    }
}