عدة نقاط رئيسية يجب أن تنتبه عند استخدام الفصول المجردة:
يجب الإعلان عن فئة تحتوي على طريقة أو أكثر من الطرق المجردة كطبقة مجردة.
إن إعلان الفصل كطبقة مجردة لا يحتوي بالضرورة على أساليب مجردة.
يُعتقد عمومًا أنه لا ينبغي إدراج طرق محددة في فصول مجردة.
لا يمكن إنشاء فصول مجردة ، أي أنه لا يمكن إنشاء كائنات من هذه الفئة.
رمز المثال:
نسخة الكود كما يلي:
استيراد java.util.*؛
/**
* هذا البرنامج يوضح الفصول التجريدية.
* version 1.01 2004-02-21
* Author Cay Horstmann
*/
الطبقة العامة persontest
{
الفراغ الثابت العام (سلسلة [] args)
{
الشخص [] الناس = شخص جديد [2] ؛
// املأ مجموعة الناس مع كائنات الطالب والموظف
الناس [0] = موظف جديد ("Harry Hacker" ، 50000 ، 1989 ، 10 ، 1) ؛
الناس [1] = طالب جديد ("ماريا موريس" ، "علوم الكمبيوتر") ؛
// طباعة الأسماء وأوصاف كل كائنات الشخص
لـ (الشخص P: الناس)
system.out.println (p.getName () + "،" + p.getDescription ()) ؛
}
}
شخص تجريدي
{
الشخص العام (سلسلة N)
{
الاسم = ن ؛
}
السلسلة المجردة العامة getDescription () ؛
السلسلة العامة getName ()
{
اسم العودة
}
اسم السلسلة الخاصة ؛
}
موظف الفصل يمتد الشخص
{
الموظف العام (السلسلة N ، Double S ، int year ، int month ، int day)
{
سوبر (ن) ؛
الراتب = s ؛
GregorianCalendar Calendar = Gregoriancalendar الجديد (سنة ، شهر - 1 ، يوم) ؛
requeday = calendar.getTime () ؛
}
GetSalary العام () العام ()
{
راتب العودة
}
التاريخ العام gethireday ()
{
إرجاع reuday ؛
}
السلسلة العامة getDescription ()
{
return string.format ("موظف براتب $ ٪. 2F" ، الراتب) ؛
}
الفراغ العام raisesalary (مزدوج bypercent)
{
رفع مزدوج = راتب * bypercent / 100 ؛
راتب += رفع ؛
}
راتب مزدوج خاص ؛
التاريخ الخاص المستأجر ؛
}
طالب الفصل يمتد الشخص
{
/**
* param n اسم الطالب
* param m تخصص الطالب
*/
طالب عام (سلسلة N ، سلسلة M)
{
// تمرير N إلى مُنشئ الفئة الفائقة
سوبر (ن) ؛
الرئيسية = م ؛
}
السلسلة العامة getDescription ()
{
إرجاع "طالب تخصص في" + Major ؛
}
سلسلة خاصة.
}
في كتلة الكود:
نسخة الكود كما يلي:
لـ (الشخص P: الناس)
system.out.println (p.getName () + "،" + p.getDescription ()) ؛
في P.GetDescription () ، ستشير الطريقة التي تشير إلى كائن الفئة الفرعية للكنيسة الفرعية المحددة.
لا يمكن حذف getDescription () في فئة الشخص لأن المترجم يسمح فقط لأساليب الاتصال المعلنة في الفصل.