Latest web development tutorials

جافا الوراثة

الوراثة جافا (الوراثة) هي ميزة جديدة في JDK 5، توفر الأدوية تجميع لمرة ونوع سلامة اختبار آلية تسمح للمبرمج لتجميع الوقت نوع غير قانوني الكشف.

طبيعة عامة من نوع معلمات نوع البيانات يعني أن يتم تحديد العملية كمعلمة.

لنفترض أن لدينا مثل هذا الشرط: الكتابة أسلوب الفرز، قادرة على تشكيل مجموعة، مجموعة من السلاسل أو أي نوع آخر من مجموعة لفرز، وكيفية تحقيقه؟

الجواب هو أنه يمكنك استخدام الأدوية جافا.

استخدام جافا الوراثة، ونحن يمكن أن يكتب طريقة عامة لفرز مجموعة من الكائنات. ثم استدعاء الأسلوب عام لمجموعة من الأعداد الصحيحة، وتطفو صفائف نقطة، سلاسل، المصفوفات، وفرزها.


طريقة عامة

يمكنك كتابة طريقة العامة التي يمكن استقبالها عند الاتصال أنواع مختلفة من المعلمات. إلى أسلوب عام نوع المعلمة، صفقة مترجم مع كل استدعاء الأسلوب من نقل بشكل مناسب.

وهنا هي القواعد التي تحدد طريقة عامة:

  • كل إعلان طريقة عامة لديه نوع المقطع تعريف المعلمة (مفصولة أقواس زاوية)، المقطع تعريف نوع المعلمة قبل نوع طريقة العائد (في المثال التالي <E>).
  • يحتوي كل قسم إعلان المعلمة نوع واحد أو أكثر من المعلمات نوع، مفصولة بفواصل بين المعلمات. يتم استخدام المعلمة عامة، والمعروف أيضا باسم نوع معرف متغير لتحديد اسم من نوع عام.
  • المعلمات نوع يمكن أن تستخدم للإعلان عن نوع الإرجاع، ويمكن الحصول عليها عام الفعلي نوع المعلمة نائبا.
  • أعلن طريقة عامة وأساليب أخرى، مثل الجسم. لاحظ أن نوع نوع المعلمة يمكن أن تمثل فقط نوع مرجع، وليس نوع بدائي (مثل كثافة العمليات، وضعف، شار، وما إلى ذلك).

أمثلة

يوضح المثال التالي كيفية استخدام الأساليب النوعية المختلفة عناصر سلسلة الطباعة:

public class GenericMethodTest
{
   // 泛型方法 printArray                         
   public static < E > void printArray( E[] inputArray )
   {
      // 输出数组元素            
         for ( E element : inputArray ){        
            System.out.printf( "%s ", element );
         }
         System.out.println();
    }

    public static void main( String args[] )
    {
        // 创建不同类型数组: Integer, Double 和 Character
        Integer[] intArray = { 1, 2, 3, 4, 5 };
        Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 };
        Character[] charArray = { 'H', 'E', 'L', 'L', 'O' };

        System.out.println( "整型数组元素为:" );
        printArray( intArray  ); // 传递一个整型数组

        System.out.println( "\n双精度型数组元素为:" );
        printArray( doubleArray ); // 传递一个双精度型数组

        System.out.println( "\n字符型数组元素为:" );
        printArray( charArray ); // 传递一个字符型数组
    } 
}

ترجمة التعليمات البرمجية أعلاه، وكانت النتائج على النحو التالي:

整型数组元素为:
1 2 3 4 5 

双精度型数组元素为:
1.1 2.2 3.3 4.4 

字符型数组元素为:
H E L L O 

هناك المعلمات نوع يحدها:

قد تكون هناك أوقات كنت تريد أن تحد من يسمح له بالمرور إلى معلمة نوع نوع من نوع النطاق. على سبيل المثال، طريقة الرقمي من العملية قد يريدون فقط لقبول حالات رقم أو عدد الفئات الفرعية. هذا هو الغرض من نوع المعلمة يحدها.

لتعريف نوع المعلمة يحدها، يتم سرد اسم المعلمة نوع أولا، تليها الكلمة يمتد، وأخيرا يليه الحد الأعلى لها.

أمثلة

يوضح المثال التالي "تمتد" كيفية استخدام في معنى بالمعنى العام "تمتد" (فئة) أو "الأدوات" (واجهة). مثال طريقة عامة لعرض أقصى ثلاثة أشياء مماثلة.

public class MaximumTest
{
   // 比较三个值并返回最大值
   public static <T extends Comparable<T>> T maximum(T x, T y, T z)
   {                     
      T max = x; // 假设x是初始最大值
      if ( y.compareTo( max ) > 0 ){
         max = y; //y 更大
      }
      if ( z.compareTo( max ) > 0 ){
         max = z; // 现在 z 更大           
      }
      return max; // 返回最大对象
   }
   public static void main( String args[] )
   {
      System.out.printf( "%d, %d 和 %d 中最大的数为 %d\n\n",
                   3, 4, 5, maximum( 3, 4, 5 ) );
 
      System.out.printf( "%.1f, %.1f 和 %.1f 中最大的数为 %.1f\n\n",
                   6.6, 8.8, 7.7, maximum( 6.6, 8.8, 7.7 ) );
 
      System.out.printf( "%s, %s 和 %s 中最大的数为 %s\n","pear",
         "apple", "orange", maximum( "pear", "apple", "orange" ) );
   }
}

ترجمة التعليمات البرمجية أعلاه، وكانت النتائج على النحو التالي:

3, 4 和 5 中最大的数为 5

6.6, 8.8 和 7.7 中最大的数为 8.8

pear, apple 和 orange 中最大的数为 pear

فئة عامة

إعلانات مماثلة وبيانات من الفئة غير العامة من الدرجة العامة، بالإضافة إلى اسم الفئة، إلحاق المقطع تعريف نوع المعلمة.

والطرق العامة، ويحتوي على عام نوع فئة المقطع تعريف المعلمة أيضا واحد أو أكثر من المعلمات نوع، مفصولة بفواصل بين المعلمات. يتم استخدام المعلمة عامة، والمعروف أيضا باسم نوع معرف متغير لتحديد اسم من نوع عام. لأنهم يقبلون معلمة واحدة أو أكثر، وتسمى هذه الطبقات الطبقات معلمات أو أنواع معلمات.

أمثلة

توضح الأمثلة التالية كيف نحدد فئة عامة:

public class Box<T> {
   
  private T t;

  public void add(T t) {
    this.t = t;
  }

  public T get() {
    return t;
  }

  public static void main(String[] args) {
    Box<Integer> integerBox = new Box<Integer>();
    Box<String> stringBox = new Box<String>();

    integerBox.add(new Integer(10));
    stringBox.add(new String("本教程"));

    System.out.printf("整型值为 :%d\n\n", integerBox.get());
    System.out.printf("字符串为 :%s\n", stringBox.get());
  }
}

ترجمة التعليمات البرمجية أعلاه، وكانت النتائج على النحو التالي:

整型值为 :10

字符串为 :本教程