Почему когда например обращаюсь к статической count через cat1.count программа понимает, после знака "=" надо обязательно вписывать Cat.count? Как программа определяет что cat1.count обращается именно к переменной класса? Меня интересует почему вариант : "cat1.count = count + 1" неверен? Ведь перед знаком "равно" тоже не уточняется Класс!
package com.javarush.task.task04.task0407;

/*
Кошки во Вселенной
*/

public class Solution {
    public static void main(String[] args) {
        Cat cat1 = new Cat();
        cat1.count = Cat.count + 1;//напишите тут ваш код

        Cat cat2 = new Cat();
        cat2.count = Cat.count + 1;//напишите тут ваш код

        System.out.println("The cat count is " + Cat.count);
    }

    public static class Cat {
        public static int count = 0;
    }
}