জাভাতে কীভাবে অভ্যন্তরীণ শ্রেণি প্রয়োগ করা যায়?



জাভা ইনার ক্লাস অর্থ একটি শ্রেণি যা অন্য শ্রেণীর সদস্য। এই নিবন্ধটি আপনাকে এই বর্গটি উন্মোচন করতে সহায়তা করবে।

জাভা ইনার ক্লাস অর্থ একটি শ্রেণি যা অন্য শ্রেণীর সদস্য। ভিতরে , বিভিন্ন ধরণের অভ্যন্তর শ্রেণি রয়েছে। এই নিবন্ধটি আপনাকে এই সমস্ত ক্লাসটি উন্মুক্ত করতে সহায়তা করবে। নিম্নলিখিত পয়েন্টারগুলি বিস্তারিত আলোচনা করা হবে,

সুতরাং আসুন জাভা নিবন্ধের এই অভ্যন্তর ক্লাসটি দিয়ে শুরু করি,





জাভা ইনার ক্লাস

নেস্টেড ইনার ক্লাস

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



বাক্য গঠন

বর্গ বহিরঙ্গন {শ্রেণীর অভ্যন্তরীণ {}}

উদাহরণ

নীচে দেওয়া উদাহরণে, আমরা অভ্যন্তরীণ শ্রেণিকে বেসরকারী করে তুলছি এবং পদ্ধতির সাহায্যে ক্লাসটি অ্যাক্সেস করছি।



ক্লাস আউটর_প্লেস {ইনটি প্রাইভেট ক্লাস ইনার_প্লেস {পাবলিক শূন্য প্রিন্ট () {System.out.println ('এটি একটি অভ্যন্তরীণ শ্রেণি')}} শূন্যপদ প্রদর্শন_ইনার () ner অভ্যন্তরীণ স্থানটি = নতুন অভ্যন্তর_প্লেস () অভ্যন্তরপ্রিন্ট ()}} সার্বজনীন ক্লাস My_class {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) {আউটার_প্লেস আউটয়ার = নতুন আউটটার_প্লেস () আউটআর.ডিসপ্লে_ইনার ()}}

আউটপুট

আউটপুট - জাভা ইনার ক্লাস - এডুরেকা

জাভা এই অপারেটর কি

এখানে আউটার প্লেসকে বাইরের শ্রেণি এবং আভ্যন্তরীণ স্থানটিকে অভ্যন্তর শ্রেণি বলা হয়।

জাভা এই নিবন্ধে এই অভ্যন্তরীণ ক্লাসটি নিয়ে চলছে,

ব্যক্তিগত সদস্যদের অ্যাক্সেস করা

অভ্যন্তরীণ ক্লাসগুলি শ্রেণীর ব্যক্তিগত সদস্যদের অ্যাক্সেসের জন্যও ব্যবহৃত হয়। মনে করুন কোনও শ্রেণি রয়েছে যাতে তাদের অ্যাক্সেস করার জন্য ব্যক্তিগত সদস্য রয়েছে। এখন ক্লাসের মধ্যে একটি অভ্যন্তর শ্রেণি লিখুন এবং অভ্যন্তরীণ শ্রেণীর মধ্যে কোনও পদ্ধতি থেকে ব্যক্তিগত সদস্যদের অ্যাক্সেস করুন।

এখানে উদাহরণ,

শ্রেণি আউটর_প্লেস {প্রাইভেট ইন্ট নাম্বার = 162 শ্রেণীর অভ্যন্তরীণ স্থান {পাবলিক ইন গেটনাম ()। System.out.println ('এটি অভ্যন্তরীণ শ্রেণির একটি গেন্নুম পদ্ধতি:') রিটার্ন নম্বর}}} পাবলিক ক্লাস মাই_ক্লাস {পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আর্টস []) {আউটার_প্লেস বাইরের = নতুন আউটার_প্লেস () আউটার_প্লেস.ইননার_প্লেস ইনার = আউটআর.ইন ইনার_প্লেস () সিস্টেম.আউট.প্রিন্টলন (ইনার.জেটনাম ())}

আউটপুট

সরানো,

স্থানীয় অভ্যন্তরীণ শ্রেণির পদ্ধতি

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

উদাহরণ

নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে স্থানীয় অভ্যন্তর শ্রেণি প্রয়োগ করা হয়।

পাবলিক ক্লাস বাইরের স্থান {অকার্যকর my_Method () num int num = 45 শ্রেণীর মেথোডিয়েনার_প্লেস {পাবলিক শূন্য প্রিন্ট () {System.out.println ('অভ্যন্তরীণ শ্রেণীর জন্য পদ্ধতি' + সংখ্যা)} od মেথোডিয়েনার_প্লেস অভ্যন্তরীণ = নতুন মেথডিয়েনার_প্লেস () অভ্যন্তরীণ.প্রিন্ট ( )} পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আরগস []) uter বাইরের স্থান বহিরাগত = নতুন বহিরাগত () বহিরাগত.মি_মেথোড ()}}

আউটপুট

জাভা এই নিবন্ধে এই অভ্যন্তরীণ ক্লাসটি নিয়ে চলছে,

নামবিহীন অভ্যন্তর শ্রেণি

শ্রেণীর নাম ব্যতীত যে কোনও অভ্যন্তর শ্রেণি ঘোষিত হয় তাকে বেনামে অভ্যন্তর শ্রেণি বলে। বেনামে অভ্যন্তর শ্রেণীর ক্ষেত্রে, আমরা একই সাথে তা ইনস্ট্যান্ট করে ঘোষণা করি।

যখনই আমরা ক্লাসের পদ্ধতি বা একটি ইন্টারফেসকে ওভাররাইড করতে চাই আমরা এই ক্লাসটি ব্যবহার করি।

বাক্য গঠন

বেনামসআইনারজেজ 1 = নতুন অ্যানোনিমাসআইনার () {সর্বজনীন শূন্য পদ্ধতি ()

উদাহরণ

অ্যাবস্ট্রাক্ট ক্লাস অ্যানোমিনিসআইনার ab পাবলিক অ্যাবস্ট্রাক্ট অকার্যকর মাইমেডোথ ()} পাবলিক ক্লাস আউটার_ক্লাস {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) {বেনামেস ইনার ইনার = নতুন অ্যানোনিমাসআইনার () {পাবলিক অকার্যকর মাইমেথ () {System.out.println ('বেনামের উদাহরণ অভ্যন্তর শ্রেণি ')}} অভ্যন্তরীণ.মায়োথোড ()}}

আউটপুট

জাভা এই নিবন্ধে এই অভ্যন্তরীণ ক্লাসটি নিয়ে চলছে,

অজ্ঞাতনামা অভ্যন্তরীণ শ্রেণীর যুক্তি হিসাবে

এটিতে যদি কোনও পদ্ধতি ইন্টারফেসের অবজেক্ট, কোনও বিমূর্ত শ্রেণি বা কংক্রিট শ্রেণীর অবজেক্ট গ্রহণ করে, তবে আমরা ইন্টারফেসটি প্রয়োগ করতে পারি, পদ্ধতিটিতে বস্তুটি পাস করতে পারি এবং বিমূর্ত শ্রেণিকে প্রসারিত করতে পারি।

বাক্য গঠন

আপত্তি পদ্ধতি (নতুন শ্রেণি () {সর্বজনীন শূন্যতা {}})

উদাহরণ

// ইন্টারফেস ইন্টারফেস বার্তা {স্ট্রিং গ্রিটি ()} পাবলিক ক্লাস মাই_ক্লাস interface // ইন্টারফেস বার্তার অবজেক্ট এই পদ্ধতিটি দ্বারা সর্বজনীন শূন্য প্রদর্শন (মেসেজ এম) গ্রহণ করা হবে {System.out.println (m.greet () + ', উদাহরণ অজ্ঞাতনামা অভ্যন্তর শ্রেণিটি আর্গুমেন্ট হিসাবে ')} পাবলিক স্ট্যাটিক অকার্যকর মূল (স্ট্রিং আরগস []) class // ক্লাস ইনস্টল করা মাই_ক্লাস ইজেক্ট = নতুন মাই_ক্লাস () // বেনামে অভ্যন্তর শ্রেণিটি আর্গুমেন্ট হিসাবে পাস করা is ডিসপ্লেমেসেজ (নতুন বার্তা () {পাবলিক স্ট্রিং শুভেচ্ছা () {প্রত্যাবর্তন 'আরে'}})}

আউটপুট

জাভা সিরিয়ালাইজ করা হয় কি

জাভা এই নিবন্ধে এই অভ্যন্তরীণ ক্লাসটি নিয়ে চলছে,

একটি নির্দিষ্ট সাবক্লাসের বেনামে অভ্যন্তর শ্রেণি

সোর্স কোড

ক্লাস ডেমো {শূন্য শো () {System.out.println ('আমি ক্লাসের শো পদ্ধতিতে ছিলাম')}} শ্রেণীর ফ্লেভার 1 ডেমো {স্ট্যাটিক ডেমো ডি = নতুন ডেমো () {শূন্য শো () {সুপার.শো () সিস্টেম। আউট প্রিন্টলন ('আমি ফ্ল্যাভার 1 ডেমো ক্লাসে উপস্থিত ছিলাম')}} পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) {d.show ()}}

আউটপুট

জাভা এই নিবন্ধে এই অভ্যন্তরীণ ক্লাসটি নিয়ে চলছে,

বেনামে অভ্যন্তর শ্রেণি নির্দিষ্টকরণের ইমপ্লিমেন্টার হিসাবে ইন্টারফেস

সোর্স কোড

ক্লাস ফ্ল্যাভার 2 ডেমো {// শ্রেণি যা হ্যালো ইন্টারফেস স্ট্যাটিক হ্যালো এইচ = নতুন হ্যালো () {পাবলিক শূন্য শো ()। System.out.println ('আমি বেনাম শ্রেণিতে উপস্থিত ছিলাম')}} পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) {h.show ()}} ইন্টারফেস হ্যালো {শূন্য শো ()}

আউটপুট

জাভা এই নিবন্ধে এই অভ্যন্তরীণ ক্লাসটি নিয়ে চলছে,

স্ট্যাটিক নেস্টেড ক্লাস

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

বাক্য গঠন

ক্লাস বাইরের {স্ট্যাটিক ক্লাস নেস্টেড_ডেম্পল {}}

উদাহরণ

পাবলিক ক্লাস আউটার {স্ট্যাটিক ক্লাস নেস্টেড_এক্সাম্পল {পাবলিক অকার্যকর my_method () {System.out.println ('এটি নেস্টেড বর্গ')}} পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আরগস []) uter আউটর.নিস্টড_এক্সাম্পল নেস্টেড = নতুন আউটার.নিস্টেড_একটি উদাহরণ () নেস্টেড.মাই_মোথডো ()}}

আউটপুট

লাইন বিরতির জন্য এইচটিএমএল ট্যাগ

এইভাবে আমরা এই নিবন্ধটির শেষে এসেছি। আপনি যদি আরও জানতে চান,পরীক্ষা করে দেখুন এডুরেকা, একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা। এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্রের কোর্সটি আপনাকে হাইবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই নিবন্ধের মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।