Вопрос компиляции Java относительно кастинга - PullRequest
0 голосов
/ 25 апреля 2011

Если у меня есть два объекта, не связанных друг с другом.Что произойдет в следующих случаях: У нас есть: Объект A, Объект B

A a = new A();
B b = new B();
  1. a = b;\ скомпилирует?получу ли я исключение?
  2. a = (A) b;\ скомпилирует?потом - получу ли я исключение?

Ответы [ 3 ]

3 голосов
/ 25 апреля 2011

Вы также можете просто скомпилировать их, чтобы получить ответ.

  1. Нет Не компилируется

  2. Нет Не компилируется

См. Также

2 голосов
/ 25 апреля 2011

Оба не будут компилироваться, во втором случае, только если компилятор может проверять типы, поэтому, если вы сначала пройдете через Object, вы сможете преобразовать и получить исключение во время выполнения

0 голосов
/ 25 апреля 2011

Если два объекта не связаны, вы не сможете навести один на другой. 1. Не будет компилироваться. 2. Компилируется, но генерирует исключение во время выполнения.

Если бы один объект был унаследован от другого, то вы могли бы привести один объект к другому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...