Java中无状态对象是啥举个例子详解
时间: 2024-11-27 20:11:47 浏览: 9
在Java中,无状态对象是一种设计模式,它指的是一个对象在生命周期内不需要依赖外部状态(如数据库、文件或其他持久存储),其行为完全由自身的内部状态决定。这种对象的实例化不会改变其他实例的状态,因此可以并行创建,且每个实例独立工作。
例如,考虑一个简单的计数器类`Counter`:
```java
public class Counter implements StatelessObject {
private int count = 0; // 内部状态
public synchronized void increment() { // 避免并发修改
count++;
}
public synchronized int getCount() {
return count;
}
@Override
public String toString() {
return "Counter{" +
"count=" + count +
'}';
}
}
```
在这个`Counter`类中,每次`increment()`操作都是对自身内部状态的改变,而且`getCount()`方法返回的就是当前的计数值,这体现了无状态性。如果需要创建多个这样的计数器,它们之间互不影响,各自独立计数。
阅读全文