لماذا عرفنا الكائن b بهذه الطريقة new B ولم نعرفه هكذا new A.B ؟
public class A { // A إسمه Outer Class هنا قمنا بتعريف private class B { // B إسمه Inner Class هنا قمنا بتعريف public void print() { // B هذه الدالة يمكن الوصول لها فقط من خلال كائن من الكلاس System.out.println("B is a private inner class"); } } public void callPrintB() { // public لأنها معرفة فيه كـ A هذه الدالة يمكن الوصول لها من كائن من الكلاس B b = new B(); // b إسمه B هنا قمنا بإنشاء كائن من الكلاس b.print(); // b من الكائن print() هنا قمنا باستدعاء الدالة } }
لماذا عرفنا الكائن b بهذه الطريقة.
B b = new B();
و لم نعرفه هكذا.
A.B b = new A().new B();
هل بسبب أننا موجودين بداخل الكلاس A الذي يحتوي على B فعرفناه بهذه الطريقة؟