@MickeyMouzze

Типы образуются от классов?

Как образуются типы? Объясните пожалуйста
  • Вопрос задан
  • 233 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rou1997
@Rou1997
Класс - это одна из разновидностей типа, помимо классов есть структуры, интерфейсы и базовые типы, например int.

если не существует класса Person, то эта запись будет правильной?

В Java и большинстве языков выдаст ошибку компиляции, в некоторых (интерпретируемых) выдаст ошибку времени выполнения либо IDE укажет на ошибку.
Ответ написан
нет, 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


теперь если все это собрать в кучу, то класс, которые наследуется от другого класса и реализует несколько интерфейсов, по сути относится к нескольким типам: к типу, который относится к классу, от которого он наследуется, к типам всех интерфейсов и к собственному типу
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы