问答题


阅读下列说明、图和Java代码,回答问题1至问题3。
【说明】
已知四个类之间的关系如图2-4所示,分别对每个类的方法进行编号,例如Shape的perimeter()为1号,表示为1:perimeter(),Rectangle类的perimeter()为2号,表示为 2:perimeter(),依此类推,其中,每个类的perimeter方法签名相同。


【Java代码】
Triangle tr=new Triangle();
Square sq=new Square();
Shape sh=tr;
【问题1】 关于上述Java代码中sh和tr的以下叙述中,哪两个是正确的(写出编号)。
①sh和tr分别引用同一个对象;
②sh和tr分别引用同一类型的不同的对象:
③sh和tr分别引用不同类型的不同对象:
④sh和tr分别引用同一个对象的不同拷贝;
⑤sh和tr所引用的内存空间是相同的。

【参考答案】

① ⑤
热门 试题

问答题
【应用说明】 某电视台拟开发应用程序来显示戏曲大赛中1~4号四位选手决赛的现场投票情况。该程序从现场观众中(不超过2000人)每0.5秒收集一次对这四位选手的支持票数,并在屏幕上动态显示这四位选手的票柱(以高度反映票数)与累计得票数,如图2-3所示。投票过程限时30秒,每名观众最多为1名选手投票。投票结束后系统通过比较各位选手的累计得票数,显示决赛结果:“*号胜出”(如有单个冠军)或“继续进行PK”(如有多人获得相同的最高票数)。 在开发该程序的过程中创建的主要控件及其初始属性值说明如下:控件名类型用途初始属性设置ShpM(1to4)形状数组显示各选手得票情况矩形,实心,高度0txtM(1to4)文本框数组显示各选手得票数0cmdStatr命令按钮启动计票标题:开始投票txtResult文本框显示决赛结果空Timl计时器每半秒收集处理一次间隔时间0.5秒,关闭状态 该程序中设置公共变量T动态记录投票时间。四个形状ShpM(1 to 4)动态增长的底线固定。 【Visual Basic程序代码】 Dim T As Integer ’声明全局变量 Private Sub Form_Load() For i=1 To 4 ShpM(i).Top=2000 : ShpM(i).Height=0 ’初始票柱高度为0 TxtM(i).Text=0 Next i Timl.Enabled=False : Timl.Interval=500 : T=0 End Sub Private Sub CmdStart Click() Timl.Enabled=True ’开始投票 CmdStart.Enabled=False End Sub Private Sub Timl Timer() Dim n(1 To 4) As Integer ’n(1 to 4)为每次收集的票数 Dim i As Integer,j As Integer Dim G As Integer ’G用于计算最高票数 Dim ng As Integer ’ng用于计算冠军个数 For i=1 To 4 n(i)=... ’收集i号选手的票数,此处省略 TxtM(i).Text=TxtM(i).Text+n(i) ’累计票(VB能进行自动转换) ShpM(i).Top=ShpM(i).Top-n(i) ShpM(i).Height=ShpM(i).Height+ (1) ’算出票柱高度 Next i T=T+1 ’计时 If T=60 Then ’投票时间到 (2) ’停止数据收集处理 ng = 1 G=TxtM(1).Text For i=2 To 4 If G<TxtM(i).Text Then G=TxtM(i).Text ng= (3) j = i Else If G=TxtM(i).Text Then ng= (4) ’计算冠军个数 End If Next i If ng=1 Then txtResult. Text= (5) ’单个冠军结果 Else txtResult. Text= 继续进行PK End If End If End Sub