当前位置: 首页 > 知识库问答 >
问题:

这行代码产生了什么?

姚嘉容
2023-03-14
 for(int i=0; observers.size();i++)
 {
     Observer observer= (Observer) observers.get(i);
     observer.update(temperature,humidity,pressure);
 } 

共有1个答案

漆雕和雅
2023-03-14

我想知道循环的第一个语句是如何工作的。我们在这里创建对特定观察者的引用吗?

此语句只是获取ArrayList中指定索引处的元素,并在将引用指向检索的对象之前确保其为Observer类型。

Observer observer= (Observer) observers.get(i);

如果强制转换成功,则将使用对检索的对象的引用来更新特定对象的数据。

observer.update(temperature,humidity,pressure);
 类似资料:
  • 问题内容: 范例1: 输出为: 范例2: 输出: 我只是不明白为什么将saySomething设为非静态会导致第二次调用saySomething调用Cow版本而不是Animal版本。我的理解是, 这两种情况都是输出。 问题答案: 静态方法在编译时绑定到其类,并且不能多态使用。在Animal上声明“静态”方法时,该方法永远绑定到Animal类,并且不能被覆盖。静态方法绑定到Class对象,而不是Cl

  • 下面的代码在执行时会产生堆栈溢出错误。然而,如果移除其中任何一个

  • 我知道这行代码将某些内容移动到eax寄存器中,但是dword ptr [edx 15Ch]有什么作用? 它是否接受edx中的值并添加15C=Q,然后将地址Q中的值加载到eax中?如果是这样,这个conetxt中的dword ptr是什么意思?

  • 为什么jaxb在下面生成一个名为的类型参数? 这个文件是由JavaTM体系结构用于XML绑定(JAXB)参考实现生成的: 也许这是一个我不知道的设计模式?

  • 为什么这段代码不生成这样的表; 你会注意到,我想要的格式把所有类似的Y变量在那里自己的块(表)和当我读代码在我的脑海中它应该这样做,但没有这样的运气对我来说,3天与这微不足道的11行代码和我已经尝试了十几个或更多的变化相同的代码和无论我做什么它总是搞砸了这个当前版本产生的结果组合在一起只有X值=5然后噗丢弃所有的其余数据 以上代码的结果:

  • 用这2行代码创建的对象有什么区别? 类创建具有、、和数据字段的人员。类是的子类,它添加了。