我不太确定这意味着什么,或者它做了什么,有人可以详细说明吗?
Player player = (Player) sender;
答案 0 :(得分:6)
它接受发送者引用的对象,并尝试将其转换为类型Player。 Java对象是强类型的,这意味着您必须声明对象的类型。
如果发件人引用的对象无法强制转换为Player对象,则InvalidCast将抛出异常。
答案 1 :(得分:1)
这是一个普通的旧java类型转换。有关详细信息,请参阅JLS Casting conversion。
它假设sender
与Player
类型兼容。
答案 2 :(得分:0)
它将发件人转换为Player对象。否则,播放器的数据类型将不匹配发送方的数据类型。通常在发件人最初被声明为子类时完成。
答案 3 :(得分:0)
这是一项任务,cast
操作。
您可以通过此问题的答案了解很多关于java cast
运算符的内容:How does the Java cast operator work?
答案 4 :(得分:0)
当你读到'将'发送者'转换为播放器时,不要认为它会直接转换它们。
有很多时候你传递的变量可能会有很多不同的东西,然后当你弄清楚它是什么东西时,你可以使用强制转换操作来实际制作其中的一个。
这是一个不完美的类比:
想象一下,你接到了当地电脑俱乐部主席的电话,他说俱乐部的一名成员会来看你的事情。
现在,你不知道哪个成员来了,如果它的女性或男性,多少岁甚至他们的名字,你对未来的访客属性一无所知。
一旦他们出现在你的门口,你就会意识到你的伙伴弗兰克,现在在你的脑海中,上面代码中的“访客”(发件人)是CAST到'Frank',你知道很多东西,年龄,有多少孩子,地址等。
在CAST之前,你对发件人知之甚少,但在演员之后你现在可以访问新对象的各种信息,因为你现在知道它的TYPE。
希望这有帮助。
答案 5 :(得分:0)
这是一个简单的java类型转换......
这是在 bukkit minecraft服务器插件吗?如果是,它的作用是将玩家发送命令到Player
对象的类型。 Player
对象用于在代码中定位特定玩家。玩家对象将具有发送命令的玩家的名称。