Здравствуйте всем счастливчикам ищучающим Java. Идя вперед понимаю, что с классами методами конструкторами у меня есть пробелы. Так вроде все понятно, но когда они все собираются воедино смотрю на все это как на китайские иероглифы. Подскажите может есть какие то видео или сайтики где можно в подробностях все это разобрать. Спасибо
public class Circle {
    public Color color;                                                 <=  // этот момент вообще не понятен КААК переменная может быть классом?
    public static void main(String[] args) {
        Circle circle = new Circle();
        circle.color.setDescription("Red");
        System.out.println(circle.color.getDescription());
    }
    public void Circle() {
        color = new Color();
    }
    public class Color {
        String description;
        public String getDescription() {
            return description;
        }
        public void setDescription(String description) {
            this.description = description;
}}}