हुआ है पर निर्भर करता है वस्तु किसी भी दृष्टांत फ़ील्ड, यह इसके राज्यविहीन नहीं है, तो भिन्न हो सकते हैं की तरह। यदि यह कुछ फ़ील्ड है तो यह स्टेटलेस भी हो सकता है, लेकिन उनके मूल्य ज्ञात हैं और नहीं बदलते हैं।
class Stateless {
void test() {
System.out.println("Test!");
}
}
यह भी एक राज्यविहीन वस्तु है:
यह एक राज्यविहीन वस्तु है
class Stateless {
//No static modifier because we're talking about the object itself
final String TEST = "Test!";
void test() {
System.out.println(TEST);
}
}
इस वस्तु राज्य है, इसलिए यह नहीं राज्यविहीन है। हालांकि, यह अपने राज्य में केवल एक बार की स्थापना की है, और इसे बाद में बदल नहीं करता है, वस्तुओं के इस प्रकार अपरिवर्तनीय कहा जाता है:
class Immutable {
final String testString;
Immutable(String testString) {
this.testString = testString;
}
void test() {
System.out.println(testString);
}
}
यदि किसी ऑब्जेक्ट में कोई फ़ील्ड (गैर स्थैतिक) है, तो इसमें एक राज्य है। यदि यह अपरिवर्तनीय है, तो यह वास्तव में एक राज्य है, लेकिन स्टेटलेस नहीं है। – assylias
@assylias I बस तय किया है कि – Bozho
@ om-nom-nom का उत्तर बहुत गहराई से स्पर्श करता है। – user2351818