AtomicInteger はスレッド セーフです。次のように使用する必要があります。
public class Atomic{
private AtomicInteger number;
public Atomic(int number){
this.number = new AtomicInteger(number);
}
public int getNumber() {
return number.get();
}
public void setNumber(int number) {
this.number.set(number);;
}
}
しかし、何かを最終的なものにしたい場合は、AtomicInteger を使用しないでください。また、最終的なものはコンパイル時に認識されている必要があるため、解決策はカプセル化です。
public final class Atomic{
private int number;
public Atomic(int number){
this.number = number;
}
public int getNumber() {
return this.number;
}
}
ステートレス オブジェクトの場合、その意味を誤解していると思います。