কম্পিউটার

জাভাতে এটির একটি রেফারেন্স বরাদ্দ করা কি সম্ভব?


দি "এটি" জাভাতে কীওয়ার্ড বর্তমান অবজেক্টের রেফারেন্স হিসাবে ব্যবহার করা হয়, একটি উদাহরণ পদ্ধতি বা একটি কনস্ট্রাক্টরের মধ্যে। এটি ব্যবহার করে, আপনি একটি ক্লাসের সদস্যদের উল্লেখ করতে পারেন যেমন কনস্ট্রাক্টর, ভেরিয়েবল এবং পদ্ধতি।

জাভাতে এটির একটি রেফারেন্স বরাদ্দ করা কি সম্ভব?

"এই" এর রেফারেন্স বরাদ্দ করা হচ্ছে

"এই" সংজ্ঞা অনুসারে একটি কীওয়ার্ড যা বর্তমান অবজেক্টের রেফারেন্স হিসাবে কাজ করে (যে বস্তুর কনস্ট্রাক্টর/পদ্ধতি আপনি এটি ব্যবহার করছেন), এর মান আইডি স্থির করা হয়েছে। অতএব, আপনি এটিতে একটি নতুন রেফারেন্স মান নির্ধারণ করতে পারবেন না। তাছাড়া, এটি শুধুমাত্র একটি কীওয়ার্ড, একটি পরিবর্তনশীল নয়।

তারপরও, আপনি যদি এটি করার চেষ্টা করেন তাহলে "this"-এ একটি রেফারেন্স মান বরাদ্দ করুন এটি একটি সংকলন ত্রুটির দিকে নিয়ে যায়।

উদাহরণ

নিম্নলিখিত জাভা প্রোগ্রামে, ক্লাসের (ExampleClass) দুটি প্রাইভেট ভেরিয়েবলের নাম, বয়স এবং একটি প্যারামিটারাইজড কনস্ট্রাক্টর রয়েছে যা এই ভেরিয়েবলগুলিকে ইনস্ট্যান্টিয়েট করে। প্রদর্শন নামের একটি পদ্ধতি থেকে, আমরা -এ একটি নতুন মান নির্ধারণ করার চেষ্টা করছি "এই" .

public class ExampleClass {
   private String name;
   private int age;
   public ExampleClass(String name, int age){
      this.name = name;
      this.age = age;
   }
   public void display(){
      this = new ExampleClass("krishna", 23);
   }
}

কম্পাইল-টাইম ত্রুটি

কম্পাইল করার সময়, এই প্রোগ্রামটি আপনাকে একটি ত্রুটি দেয় যা নীচে দেখানো হয়েছে -

ExampleClass.java:14: error: cannot assign a value to final variable this
      this = new ExampleClass("krishna", 23);
      ^
1 error

  1. OpenCV Java ব্যবহার করে একটি ছবিতে সম্ভাব্য বস্তুর চারপাশে উপবৃত্তগুলি কীভাবে ফিট করবেন?

  2. জাভাতে নাম ছাড়াই কি ক্লাস তৈরি করা সম্ভব?

  3. জাভাতে পলিমরফিজম

  4. আমরা কি পাইথনে একটি ভেরিয়েবলের রেফারেন্স বরাদ্দ করতে পারি?