-4

您是否了解这张幻灯片中这门 MIT 课程(有问题的幻灯片在第 44 页)实际上在谈论什么?冻结键是什么意思?我知道地图的键不能更改,否则键和值都会丢失。但是,我并没有完全理解使用boolean frozen. (我只看过可在线免费下载的幻灯片,我没有参加课程)

//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; 

提前非常感谢。

4

1 回答 1

2

freeze只是一个标志,它告诉类通过跳过变量赋值来有效地忽略对其设置器的调用。

创建实例后,调用setFirst将设置first成员变量。在您调用 之后freeze,调用 tosetFirst将什么也不做,从而“冻结”对象的状态。

于 2013-03-29T17:36:08.427 回答