回答
它接受發件人引用的對象,並嘗試將其轉換爲類型Player。 Java對象是強類型的,這意味着你必須聲明對象的類型。
如果發件人引用的對象不能轉換爲Player對象,則會爲InvalidCast引發異常。
這是一個古老的java類型演員。有關完整的詳細信息,請參閱JLS Casting conversion。它假定sender
與Player
類型兼容。
它將發件人轉換爲播放器對象。否則,播放器的數據類型不匹配發送者的數據類型。通常在發件人最初可以被聲明爲子類時完成。
這是一項作業,使用cast
操作。
你可以學到很多有關Java cast
運營商與這個問題的答案:How does the Java cast operator work?
當你讀它「轉換」發件人球員,千萬不要以爲它的字面轉換它們。
有很多時候你傳遞一個變量可能是很多不同的東西,那麼當你弄清楚它是什麼東西的時候,你可以使用轉換操作符來實現這些東西之一。
繼承人不完美的比喻:
想象一下,你從你的本地計算機俱樂部主席打來的電話,他說,該俱樂部的成員會來見你的東西。
現在,你不知道哪個成員即將到來,如果它的女性或男性,他們的年齡甚至是他們的名字,你對未來訪問者的屬性一無所知。
一旦它們出現在你的門口,你就會意識到它的朋友弗蘭克現在在你的腦海中,上面代碼中的'訪客'(發件人)是CAST到'弗蘭克',你知道很多東西,年齡,有多少個孩子,地址等等。
在CAST之前,你對發送者知之甚少,但在演員之後,現在你可以訪問新對象上的各種信息,因爲你現在知道它的TYPE。
希望這會有所幫助。
這是一個簡單的Java類型轉換...
這是在bukkit的Minecraft服務器插件?如果是這樣,它所做的是將玩命令發送給Player
對象。 Player
對象用於在代碼中定位特定的玩家。玩家對象將具有發送該命令的玩家的名字。
- 1. 這段Javascript代碼是做什麼的?
- 2. 這段java代碼是做什麼的?
- 3. 這段代碼是做什麼的?
- 4. 這段C++代碼是做什麼的?
- 5. 這段C代碼是做什麼的?
- 6. 這段Python代碼是做什麼的?
- 7. 這段代碼中的IEventRepository是什麼? Resolver.resolve()是做什麼的?
- 8. 這段代碼在這裏做什麼?
- 9. 這段代碼真的在做什麼?
- 10. 這段代碼是做什麼的,它爲什麼編譯?
- 11. 這段代碼是什麼?
- 12. 這段代碼做了什麼?
- 13. 這段代碼在做什麼?
- 14. 這段代碼要求做什麼?
- 15. 這段代碼做了什麼? (awk)
- 16. 這段代碼做了什麼?
- 17. C++這段代碼做了什麼?
- 18. 這段代碼做了什麼?
- 19. 這段代碼做了什麼?
- 20. 這段代碼做了什麼?
- 21. 這段代碼究竟做了什麼?
- 22. 這段代碼做了什麼蛇?
- 23. 這段代碼做了什麼?
- 24. 這段C++代碼在做什麼?
- 25. Normalized cut:這段代碼做了什麼?
- 26. 這段代碼做了什麼?
- 27. 這段代碼在做什麼?
- 28. 這段代碼做了什麼?
- 29. 這段代碼究竟做了什麼?
- 30. 下面這段代碼做什麼
爲什麼這不是一個真正的問題? –