الأصناف والعمليات

بجمع كل أجزاء الشفرة من القسم السابق، سيبدو التعريف الكامل للصنف كالتالي:
كود:
class NewLine {

   public static void newLine() {
      System.out.printlin("");
   }
   public static void threeLine() {
      newLine(); newLine(); newLine();
   }
   public static void main (Sttring[] args) {
      System.out.println ("First line.");
      threeLine();
      System.out.println ("Second line.");
   }
}
يبين السطر الأول أن هذا تعريف صنف للصنف الجديد المسمى NewLine. الصنف هو مجموعة من العمليات المترابطة. في هذه الحالة، يحتوي الصنف المسمى NewLine على ثلاث عمليات، اسمها newLine، وthreeLine، وmain.
الصنف الآخر الذي شاهدناه كان الصنف Math. وهو يحتوي على العمليات المسماة sqrt، وsin، وغيرها الكثير. عندما نستدعي تابعاً رياضياً، علينا تحديد اسم الصنف (Math) واسم التابع. لهذا السبب فإن بنية التعليمة المستخدمة لاستدعاء العمليات الجاهزة تختلف قليلاً عن البنية المستخدمة لاستدعاء العمليات التي نكتبها:
كود:
Math.pow(2.0, 10.0);
newLine();
التعليمة الأولى تستدعي العملية pow من الصنف Math (التي ترفع المتغير الأول إلى قوة المتغير الثاني). التعليمة الثانية تستدعي العملية newLine، والتي تفترض Java وجودها (وهي موجودة فعلاً) في صنف NewLine، الذي نقوم بكتابته.
إذا حاولنا استدعاء العملية من صنف خاطئ، سيعطي المجمّع خطأ. مثلاً، إذا كتبتَ:
كود:
pow(2.0, 10.0);
سيقول المجمع شيئاً مثل، “Can’t find a method named pow in class NewLine.”
" لا يمكن العثور على عملية باسم pow في الصنف NewLine". إذا رأيت هذه الرسالة، فلربما تساءلت عن سبب بحثه عن pow في تعريف صنفك. الآن أنت تعرف.