-1
在下面的代碼中,當調用processStateChange()方法時,編譯器如何知道要傳遞哪個對象?回調方法中的對象引用
public void onUpdate(Set<Object> objects)
{
for(Object object : objects)
{
object.addUpdateListener(new UpdateListener()
{
@Override
public void onUpdate()
{
processStateChange(object);
}
});
}
}
如果循環爲:for(final Object object:object),那麼在響應中是否有任何區別?
對象'object'在循環中沒有改變,因此它是有效的,所以你可以省略'final'關鍵字 –
變量必須是final或* effectiveley final *,它在你的循環中,因爲你不改變變量的值它的範圍 –