Добрый день коллеги! Хочу проконсультироваться, про легальность и пользу от вызова конструктора, для инициализации переменных. Правильно ли я уловил идеологию языка: Если код повторяется несколько раз, то его нужно как отдельный класс или метод оформить? Посмотрите код приведённый ниже. Может есть другой, оптимальный/правильный путь выполнения конструктора чем new MyRandColor()? Прошу прощения если мой вопрос слишком глуп/прост для вас.
class MyDrawPanel extends JPanel {
    public void paintComponent(Graphics g) {

        //Set BackGround color
        g.setColor(Color.black);
        //Fill BG
        g.fillRect(0, 0, this.getWidth(), this.getHeight());

        //Use gradient
        Graphics2D g2d = (Graphics2D) g;

        new MyRandColor(); //Get random color
        Color startColor = new Color(MyRandColor.red, MyRandColor.green, MyRandColor.blue);

        new MyRandColor(); //Get random color
        Color endColor = new Color(MyRandColor.red, MyRandColor.green, MyRandColor.blue);

        GradientPaint gradient = new GradientPaint(10, 10, startColor, 50, 50, endColor);
        g2d.setPaint(gradient);
        g2d.fillOval(10,10, 50, 50);
    }
}

class MyRandColor {
    public static int red, green, blue;

    public MyRandColor () {
        red = (int) (Math.random() * 255);
        green = (int) (Math.random() * 255);
        blue = (int) (Math.random() * 255);
    }
}