अंतिम स्थिर और स्थिर अंतिम के बीच अंतर


151

मुझे एक कोड मिला जहां उसने कोड घोषित किया

private final static String API_RTN_SUCCESS = "0";
private final static String API_RTN_ERROR = "1";

public static final String SHARED_PREFERENCE_CONFIG = "shared_preference_config";
public static final String STARTUP_SETTING_KEY = "startup_setting";

उनमें क्या अंतर है या वे एक ही हैं? या फिर इसके लिए किस तरह अलग है privateया public?


149
अगर वे अलग हैं, तो मैं पूरी तरह से जावा पर छोड़ देता हूं।
एलेक्स लॉकवुड

जवाबों:


226

कोई अंतर नहीं। 8.3.1 के अनुसार - कक्षाएं - जावा भाषा विनिर्देश के फील्ड संशोधक ,

यदि दो या अधिक (अलग) फ़ील्ड संशोधक एक क्षेत्र घोषणा में दिखाई देते हैं, तो यह प्रथागत है, हालांकि आवश्यक नहीं है, कि वे फील्डमोडिफायर के लिए उत्पादन में ऊपर दिखाए गए क्रम के अनुरूप दिखाई देते हैं।

खेतों के लिए, उक्त उत्पादन इस क्रम में संशोधक को सूचीबद्ध करता है:

@Annotation public protected private static final transient volatile

और तरीकों के लिए:

@Annotation public protected private abstract static final synchronized native strictfp


9
संदर्भ के लिए, लिंक से आदेश है abstract static final
sfarbota

42

वह एक जैसे है। संशोधक का क्रम महत्वपूर्ण नहीं है। और ध्यान दें कि एक ही नियम सभी संदर्भों में लागू होता है जहां जावा में संशोधक का उपयोग किया जाता है।

हालांकि, अधिकांश जावा स्टाइल गाइड संशोधक के लिए समान विशिष्ट आदेश की सिफारिश / जनादेश करते हैं। इस मामले में, यह है public static final


19
private static final String API_RTN_ERROR= "1";
private final static String API_RTN_ERROR= "1";
static private final String API_RTN_ERROR= "1";
static final private String API_RTN_ERROR= "1";
final static private String API_RTN_ERROR= "1";
final private static String API_RTN_ERROR= "1";

यहां तक ​​कि उपरोक्त सभी एक ही हैं पहले तीन की स्थिति परस्पर विनिमय योग्य है।



4

उनमें क्या अंतर है या वे एक ही हैं?

यदि आप स्थैतिक और अंतिम के बदलते क्रम के बारे में बात कर रहे हैं तो हाँ वे समान हैं।

क्या यह निजी या सार्वजनिक के लिए अलग है?

नहीं, आप निजी और सार्वजनिक किसी भी आदेश का उपयोग कर सकते हैं। बस अंतर यह है कि निजी चर सीधे कक्षा के बाहर सुलभ नहीं होंगे।


1

यह सिर्फ एक सम्मेलन या एक अभ्यास है जो लोग कोडिंग शैली को सुसंगत रखने के लिए अनुसरण करते हैं। यह पठनीयता में सुधार करता है। लिखने का इतना पसंदीदा तरीका है

private static final <Type> <variable_name> = <value>;

0

यह वही है, निश्चित रूप से। यह केवल आपकी आदतों और पसंद पर निर्भर करता है :-)। मैं सदस्यों और विधियों के लिए सार्वजनिक स्थैतिक अंतिम आदेश का उपयोग करता हूं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.