Если объект не имеет полей экземпляра, он без состояния .Также он может не иметь состояния, если у него есть некоторые поля, но их значения известны и не изменяются.
Это объект без состояния :
class Stateless {
void test() {
System.out.println("Test!");
}
}
Thisтакже объект без состояния объект:
class Stateless {
//No static modifier because we're talking about the object itself
final String TEST = "Test!";
void test() {
System.out.println(TEST);
}
}
Этот объект имеет состояние, поэтому он не не имеет состояния.Тем не менее, его состояние устанавливается только один раз, и он не изменяется позже, этот тип объектов называется immutable :
class Immutable {
final String testString;
Immutable(String testString) {
this.testString = testString;
}
void test() {
System.out.println(testString);
}
}