有个不懂的地方

有个不懂的地方

问题描述:

老师,为什么这里计算机知道你填入的是对象而不是别的类型的数据?

相关截图:

http://img1.sycdn.imooc.com//climg/5ff7131a096b88b504580485.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,在数组声明时,已经限制了数组类型,当赋值其他类型时,编译器会识别出现提示,从而出现编译性异常。

注:在编译器底层进行处理。

祝学习愉快!

  • 慕尼黑3413982 提问者 #1

    还是不太明白,它这里声明的是一个Staff类型的数组,怎么就只能赋值对象了呢?

    http://img1.sycdn.imooc.com//climg/5ff829b509841c0504210212.jpg

    2021-01-08 17:45:29
  • 好帮手慕小尤 回复 提问者 慕尼黑3413982 #2

    同学你好,1. Staff[] st是声明数组的类型,则当赋值其他类型的数据("st1"是String类型),则编译器会直接出现编译异常(Java语法规定)。如下图所示:

    http://img1.sycdn.imooc.com//climg/5ff82e3e09a6b30d04480084.jpg

    2. 这属于语法规定,当定义对象数组时,大括号内的数据的类型需与前面定义数组的类型匹配。否则会出现编译性问题。如下所示:

    http://img1.sycdn.imooc.com//climg/5ff82edb09fa13d706140103.jpg

    祝学习愉快!

    2021-01-08 18:13:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师