Вы не можете сделать это.
Поскольку вы создали MyButton с помощью кнопки.Кнопка является независимой, но MyButton зависит от кнопки.Когда вы объявляете
MyButton button = (Button) findByElementById()
Это вызывает ошибку компилятора. Поскольку компилятор знает, что MyButton - кнопка только для кнопки, кнопка не является MyButton.
Но Вы можете сделать это следующим образом
Button button = new MyButton()
Поскольку MyButton () является кнопкой ()
или
Button button = (Button) new MyButton()
Но здесь Вам не нужно приводить MyButton () к Button (), потому что компилятор уже знает, что MyButton () является Button ()
В Java вы можете использовать только Upcasting и Downcasting.Ознакомьтесь с правилами Java Downcasting и Upcasting, которые сделают вас более понятными