আমি ক্ষেত্রগুলিকে অপ্রয়োজনীয় সীমাবদ্ধ এবং জাভা ভাষার ডিজাইনারদের একটি ভুল হিসাবে চূড়ান্ত হওয়ার প্রয়োজনীয়তা বিবেচনা করি। অনেক সময় রয়েছে, যেমন গাছের পরিচালনা, যখন আপনাকে প্রয়োগের ক্ষেত্রে ধ্রুবকগুলি সেট করতে হয় যা ইন্টারফেসের ধরণের কোনও বস্তুতে ক্রিয়াকলাপ করতে হয়। বাস্তবায়নকারী ক্লাসে একটি কোড পাথ নির্বাচন করা একটি ক্লডজ। আমি যে ওয়ার্কারআউন্ডটি ব্যবহার করি তা হ'ল একটি ইন্টারফেস ফাংশনটি সংজ্ঞায়িত করা এবং আক্ষরিক প্রত্যাবর্তনের মাধ্যমে এটি প্রয়োগ করা:
public interface iMine {
String __ImplementationConstant();
...
}
public class AClass implements iMine {
public String __ImplementationConstant(){
return "AClass value for the Implementation Constant";
}
...
}
public class BClass implements iMine {
public String __ImplementationConstant(){
return "BClass value for the Implementation Constant";
}
...
}
যাইহোক, এই সিনট্যাক্সটি ব্যবহার করতে এটি সহজ, পরিষ্কার এবং অপ্রয়োজনীয় বাস্তবায়নের ঝুঁকির কম হবে:
public interface iMine {
String __ImplementationConstant;
...
}
public class AClass implements iMine {
public static String __ImplementationConstant =
"AClass value for the Implementation Constant";
...
}
public class BClass implements iMine {
public static String __ImplementationConstant =
"BClass value for the Implementation Constant";
...
}