मैंने जावा में इस सरल वर्ग को अपनी कुछ विशेषताओं का परीक्षण करने के लिए लिखा था।जावा "शून्य" और "गैर शून्य" कन्स्ट्रक्टर
public class class1 {
public static Integer value=0;
public class1() {
da();
}
public int da() {
class1.value=class1.value+1;
return 5;
}
public static void main(String[] args) {
class1 h = new class1();
class1 h2 = new class1();
System.out.println(class1.value);
}
}
उत्पादन होता है:
लेकिन इस कोड में:
public class class1 {
public static Integer value=0;
public void class1() {
da();
}
public int da() {
class1.value=class1.value+1;
return 5;
}
public static void main(String[] args) {
class1 h = new class1();
class1 h2 = new class1();
System.out.println(class1.value);
}
}
इस कोड के उत्पादन में है:
तो क्यों नहीं, जब मैं निर्माता विधि घोषणा में void
उपयोग करते हैं, वर्ग के स्थिर क्षेत्र किसी भी अधिक परिवर्तन नहीं करता है?
वह दूसरा एक निर्माता नहीं है। यह सिर्फ एक तरीका है जो एक वर्ग को अपनी कक्षा के साथ साझा करना होता है। – murgatroid99
क्योंकि यह अब एक कन्स्ट्रक्टर नहीं है। –
इस तरह के प्रश्न पर उत्तर [जावा में रचनाकारों का रिटर्न प्रकार क्यों नहीं है] (http://stackoverflow.com/questions/6801500/why-do-constructors-in-java-not-have-a-return- प्रकार) एक महान कारण देता है। – Doswell