2013-03-29 67 views
-3

您是否在此幻灯片中理解实际上this MIT course(所讨论的幻灯片在第44页)正在谈论的内容?它们对于Freeze键有什么意义?我知道地图的键不能改变,否则键和值都会丢失。不过,我并没有完全明白冻结boolean frozen的关键。 (我只读过的幻灯片上线免费下载的,我没参加课程)等于集合视图Java

//Freeze Keys 
public class Name { 
private 
String first; 
private 
String last; 
private 
boolean frozen = false; 

public void setFirst(String s) { 
if (!frozen) 
first = s; 
} 
//... 
// do same with setLast 
public void freeze() { 
frozen = true; 

非常感谢提前。

+1

你明白吗?没有。简而言之,我们无法完成所有这些。 – Ankit

+0

@ ay89 tnx非常感谢您的支持,祝您有个美好的一天。 – Rollerball

+1

就我所知,一个'boolean'被用来控制和知道一个变量是否可以被设置。这更像他们之前在构造函数中声明字段'final'并赋值的示例。 – asgs

回答

2

freeze只是一个标志,告诉该类有效跳过变量赋值忽略对其setter的调用。

创建实例后,调用setFirst将设置first成员变量。在致电freeze后,致电setFirst将不会执行任何操作,从而“冻结”对象的状态。

+0

小修正:标志告诉类是否忽略变量赋值。 – asgs

+0

好点。我编辑了更精确的答案。 –