Что делает этот блок кода? - PullRequest
1 голос
/ 19 июня 2011

Я не совсем уверен, что это значит или что делает. Может кто-нибудь уточнить?

Player player = (Player) sender;

Ответы [ 6 ]

6 голосов
/ 19 июня 2011

Он берет объект, на который ссылается отправитель, и пытается привести его к типу Player. Java-объекты строго типизированы, что означает, что вы должны объявить тип объекта.

Если объект, на который ссылается отправитель, не может быть приведен к объекту Player, для InvalidCast будет выдано исключение.

1 голос
/ 19 июня 2011

Это простой старый тип java. См. JLS Преобразование кастинга для получения полной информации.

Предполагается, что sender совместим по типу с Player.

0 голосов
/ 09 сентября 2014

это простой java typecast ...

это в плагине Bukkit для сервера Minecraft? если это так, то он выполняет тип, при котором игрок посылает команду объекту Player. Player Объекты используются для выбора определенных игроков в коде. объект игрока будет иметь имя игрока, отправившего команду.

0 голосов
/ 19 февраля 2013

Когда вы читаете, он «конвертирует» отправителя в Player, не думайте, что он буквально конвертирует их.

Часто вы передаете переменную, которая МОЖЕТ быть множеством разных вещей, тогда, когда вы выясняетечто это такое, вы используете оператор приведения к действию, чтобы фактически СДЕЛАТЬ одну из этих вещей.

Вот несовершенная аналогия:

Представьте, что вам позвонил президент местного компьютерного клуба, говорит ончто член клуба будет приходить к вам по поводу чего-то.

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

Как только они появятся у вашей двери, вы поймете, что ваш приятель Фрэнк, теперь у вас на уме, «посетитель» (отправитель) из кода выше, является CAST для «Фрэнка», которого вызнаю много вещей о возрасте, возрасте, количестве детей, адресе и т. д.

До CAST вы очень мало знали об отправителе, но после каста вы можете получить доступ ко всем видам информации.о новом объекте, поскольку теперь вы знаете его ТИП.

Надеюсь, это поможет.

0 голосов
/ 19 июня 2011

Это назначение с операцией cast.

Вы можете многое узнать об операторе java cast, ответив на этот вопрос: Как работает оператор приведения Java?

0 голосов
/ 19 июня 2011

Преобразует отправителя в объект Player. В противном случае тип данных игрока не будет соответствовать типу отправителя. Обычно делается, если отправитель изначально мог быть объявлен как подкласс.

...