চূড়ান্ত স্থির এবং স্থির ফাইনালের মধ্যে পার্থক্য


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

তাদের মধ্যে পার্থক্য কি বা তারা একই?

আপনি যদি স্থির এবং চূড়ান্ত ক্রম পরিবর্তন করার বিষয়ে কথা বলছেন তবে হ্যাঁ তারা সমান are

এটি ব্যক্তিগত বা জনসাধারণের জন্য আলাদা হয়?

না, আপনি ব্যক্তিগত এবং সর্বজনীন যে কোনও আদেশ ব্যবহার করতে পারেন। কেবল পার্থক্যটি হল ব্যক্তিগত ভেরিয়েবলগুলি ক্লাসের বাইরে সরাসরি অ্যাক্সেসযোগ্য হবে না।


1

কোডিং শৈলীর ধারাবাহিকতা বজায় রাখতে এটি কেবল একটি সম্মেলন বা একটি অনুশীলন। এটি পাঠযোগ্যতার উন্নতি করে। এটি লেখার জন্য পছন্দসই উপায়

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

0

অবশ্যই এটি একই। এটি কেবল আপনার অভ্যাস এবং পছন্দ :-) এর উপর নির্ভর করে। আমি সদস্য এবং পদ্ধতিগুলির জন্যও পাবলিক স্ট্যাটিক ফাইনাল অর্ডার ব্যবহার করি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.