में पूरे कार्यक्रम के लिए एक चर बनाने योग्य बनाने की आवश्यकता है तो मेरी समस्या यह है। मेरे पास Globals
नामक एक वर्ग है जिसमें सभी कार्यक्रमों की आवश्यकता है जो मुझे पूरे कार्यक्रम में चाहिए। यह तार, पूर्णांक और अन्य चीजों जैसी चीजों के लिए ठीक काम करता है जिन्हें आप =
ऑपरेशन का उपयोग कर सकते हैं। उदाहरण के लिए:मुझे जावा
public class Globals {
public static int globalInteger = 23;
public static String globalString = "Hello, dude.";
public static UserProfile globalUserProfile;
}
परियोजना में कहीं न कहीं, मैं का उपयोग उन्हें इन का उपयोग कर:
Globals.globalInteger += 17;
Globals.globalString = "Why, hello there!";
हालांकि, मैं (एक वर्ग है कि मैं अपने आप को वैश्विक लिखा था बनाने के लिए कोशिश कर रहा हूँ UserProfiles.class
)। यह वर्ग =
ऑपरेशन का उपयोग नहीं करता है, इसलिए, यह हमेशा null
होता है जब मैं इसे कहीं और से एक्सेस करता हूं और मुझे java.lang.nullPointerException
मिलता है। उदाहरण के लिए यदि मैं यह कर (newProfile(String)
UserProfiles.class
अंदर एक विधि है):
Globals.globalUserProfile.newProfile(profileName);
मैं java.lang.NullPointerException
मिलता है। मैं पूरे प्रोजेक्ट में अपने UserProfile.class
परिवर्तनीय कैसे पहुंच सकता हूं? अग्रिम में धन्यवाद।
सिर्फ रिकॉर्ड के लिए, "ग्लोबल्स" (विशेष रूप से '+ = 17' * shudder *) का पैटर्न अच्छा नहीं है। Http://stackoverflow.com/questions/4646577/global-variables-in-java – Gray
देखें, ओह, मैं देखता हूं। मैं जावा के लिए काफी नया हूं और मैं अभी भी कुछ मूलभूत बातें उलझन में हूं। मैं उस पर पढ़ूंगा। धन्यवाद। – alxcyl
यदि आप _why_ को समझाने के लिए अपना प्रश्न संपादित करते हैं, तो आप ऐसा करना चाहते हैं और कुछ मूल्यों के कुछ वास्तविक उदाहरण देते हैं जो आपको लगता है कि आपको वैश्विक रूप से स्टोर करने की आवश्यकता है, लोग आपके लक्ष्यों को पूरा करने के बेहतर तरीकों पर टिप्पणी कर सकते हैं। – Gray