سؤال الطبقة المجهولة
-
20-09-2019 - |
سؤال
لدي القليل من الشك في هذا الخط:
لا يمكن للطبقة المجهولة تحديد مُنشئ
ثم ، لماذا يمكننا أيضًا تحديد فئة مجهولة مع بناء الجملة التالي:
new class-name ( [ argument-list ] ) { class-body }
المحلول
أنت لا تحدد مُنشئًا في فئة مجهولة ، فأنت تتصل بمنشئ من الفئة الفائقة.
لا يمكنك إضافة مُنشئ مناسب لفئة مجهولة ، ومع ذلك ، يمكنك القيام بشيء مماثل. وهي كتلة التهيئة.
public class SuperClass {
public SuperClass(String parameter) {
// this is called when anonymous class is created
}
}
// an anonymous class is created and instantiated here
new SuperClass(parameterForSuperClassConstructor) {
{
// this code is executed when object is initialized
// and can be used to do many same things as a constructors
}
private void someMethod() {
}
}
نصائح أخرى
مثالك يخلق مجهول الفئة الفرعية من class-name
, ، ولا يُسمح لك بإنشاء مُنشئ خاص بفصلك المجهول. قائمة الوسيطة التي تقدمها هي نفس قائمة الوسيطة لـ class-name
البناء.
هذا يعني وجود فئة مجردة تسمى class-name
مع المنشئ المحدد. أنت تستفيد من هذا المُنشئ في فئتك المجهولة التي تشبه استخدام Super () في مُنشئ الفئة الفرعية.
لا تنتمي إلى StackOverflow