нет, Java такое не должна собрать и должна сказать, что класс `Person` не найден
искал описание в книге, но не нашел. опишу сам. здесь таится более глубокий вопрос
вы верно мыслите - слева у вас стоит тип, а справа вы используете класс. в случае с классом, который ни от чего не наслудуется и от него ничего не наследуется тип - это и есть класс.
далее представим, что у вас есть два класса Person и Worker. при этом Worker наследуется от Person. вы можете смело писать следующее:
Person personFoo = new Person();
Person personBar = new Worker();
Worker workerBeez = new Worker();
с первой и третьей строкой все ясно, а вторая строка, как вы понимаете, из-за полиморфизма. объекты personFoo и personBar будут принадлежать одному типу: Person. все эти три объекта формально будут принадлежать к одному типу и workerBeez можно использовать там же, где и Person если соблюден
принцип подстановки
аналогичная ситуация с интерфейсами. если же класс реализует интерфейс, то объекты этого класса будут относиться еще и к типу интерфейса:
IWorkable worker = new Worker(); // при условии, что Worker реализует интерфейс IWorkable
теперь если все это собрать в кучу, то класс, которые наследуется от другого класса и реализует несколько интерфейсов, по сути относится к нескольким типам: к типу, который относится к классу, от которого он наследуется, к типам всех интерфейсов и к собственному типу