The industry at large has agreed that what is bad is inheritance of implementation, even hip languages like Rust support inheritance of interfaces, so Java isn't wrong there.
And naturally the whole COM like OO ABIs also support it.
Good point. We should use it mush much more sparingly then. ;)