永发信息网

java (类型)类型

答案:4  悬赏:0  手机版
解决时间 2021-02-27 12:04
  • 提问者网友:眉目添风霜
  • 2021-02-27 00:30
java新手,研究java一段程序中遇到问题

Player p = (Player)sender;
Player 是一个类,sender 也是一个类

这段话什么意思?类型强制转换?

不对!sender 是一个类的名称,声明为如下

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
if ((sender instanceof Player)) {
Player p = (Player)sender;
最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-02-27 01:22
确实是强制转换,目的是确保对象sender的类型是player。
你列出的这个函数中的变量sender的类型为CommandSender,显然它应该可能是很多种类的对象--只要这个对象的类继承自CommandSender。if 语句判断了sender的类型是否是Player,如果是,则将其强制转换为Player型。
全部回答
  • 1楼网友:西岸风
  • 2021-02-27 03:44
在你给出的那个方法参数的第一个,sender的类型为CommandSender。 而 “=”为赋值符号,想要把 CommanSender转为Player类型,为了不包编译时报错的话。 就需要在前面加 (Player)。 如果if (sender instanceof player)返回了true,说明player是sender的子类。现在要把父类sender转为player子类类型。就要进行强制转换。而在 sender前面加(Player)就表示把类型强制转为Player类型
  • 2楼网友:煞尾
  • 2021-02-27 02:45
sender instanceof Player 这句话的判断也说明了,player是否是sender类的一个子类的实现,如果player继承了sender ,而且返回的对象是player这个类的实现,则返回true,并可以进行强制转换
  • 3楼网友:笑迎怀羞
  • 2021-02-27 01:30
gettime()     返回此 timestamp 对象表示的自 1970 年 1 月 1 日 00:00:00 gmt 以来的毫秒数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯