আমার কাছে নিম্নলিখিত কোড রয়েছে। আমি বাইরের শ্রেণীর অবজেক্টটি ধরে রাখতে চাই যা ব্যবহার করে আমি অভ্যন্তরীণ শ্রেণীর অবজেক্টটি তৈরি করেছি inner
। আমি এটা কিভাবে করবো?
public class OuterClass {
public class InnerClass {
private String name = "Peakit";
}
public static void main(String[] args) {
OuterClass outer = new OuterClass();
InnerClass inner = outer.new InnerClass();
// How to get the same outer object which created the inner object back?
OuterClass anotherOuter = ?? ;
if(anotherOuter == outer) {
System.out.println("Was able to reach out to the outer object via inner !!");
} else {
System.out.println("No luck :-( ");
}
}
}
সম্পাদনা: আচ্ছা, আপনারা কেউ কেউ একটি পদ্ধতি যুক্ত করে অভ্যন্তরীণ শ্রেণিকে সংশোধন করার পরামর্শ দিয়েছেন:
public OuterClass outer() {
return OuterClass.this;
}
তবে যদি আমার অভ্যন্তরীণ বর্গটি সংশোধন করার নিয়ন্ত্রণ না থাকে, তবে (কেবলমাত্র নিশ্চিত করার জন্য) আমাদের অভ্যন্তরীণ শ্রেণীর অবজেক্ট থেকে সংশ্লিষ্ট বহিরাগত শ্রেণি অবজেক্টটি পাওয়ার আরও কিছু উপায় আছে?