В вашем примере вы просто определили новое поле с таким же именем, что привело к так называемому name shadowing
Нельзя переопределить значения поля, как это работает с методами.
Если хотите задавать в наследнике значение родительского поля, сделайте в родителе конструктор с соответствующим параметром.
Сначала да, но если там ничего не найдёт, пойдёт по цепочке скоупа в котором функция вызывалась.
но Вы прямо указываете ВКонтакте, что Вы не их приложение, а явный самозванец, использующий данные от официальных приложений
Возможно, этот сервис использует так называемые аналоги Audio API (1, 2), тогда достаточно, авторизовывая пользователя даже через собственное Standalone-приложение, получить его ID и, отправив запрос на выше приведённые сервисы, получить распарсерную музыку.