immutable1.java
来自「think in java TIJ-3rd-edition-code.zip」· Java 代码 · 共 35 行
JAVA
35 行
//: appendixa:Immutable1.java
// Objects that cannot be modified
// are immune to aliasing.
import com.bruceeckel.simpletest.*;
public class Immutable1 {
private int data;
public Immutable1(int initVal) {
data = initVal;
}
public int read() { return data; }
public boolean nonzero() { return data != 0; }
public Immutable1 quadruple() {
return new Immutable1(data * 4);
}
static void f(Immutable1 i1) {
Immutable1 quad = i1.quadruple();
System.out.println("i1 = " + i1.read());
System.out.println("quad = " + quad.read());
}
public static void main(String[] args) {
SimpleTest monitor =
new SimpleTest("Immutable1");
Immutable1 x = new Immutable1(47);
System.out.println("x = " + x.read());
f(x);
System.out.println("x = " + x.read());
monitor.expect(new String[] {
"x = 47",
"i1 = 47",
"quad = 188",
"x = 47"
});
}
} ///:~
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?