скажите пожалуйста, а как программа понимает, что мы имеем в виду переменную fullName именно в классе Cat. тоисть, мы пишем: this.fullName(переменная которая хранится в методе) = fullName;(именно об этой переменной класса и идет речь) как программа без явного указания класса и его переменной понимаем, о чем именно мы говорим? почему не проще написать с явным указанием переменной, на которую мы ссылаемся, тобишь, написать вот так: this.fullName = cat.fullName;