English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

هل يجب أن تكون جميع الخاصيات غير القابلة للتغيير في Java هي final؟

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

تعريف كائنات غير قابلة للتعديل

يمكن تعريف كائنات غير قابلة للتعديل في كل مرة تحتاج إلى إنشاء كائن لا يمكن تعديله بعد التوليد. لا توجد قواعد محددة لإنشاء كائنات غير قابلة للتعديل، ولكن الفكرة هي تقييد الوصول إلى مجالات الفئة بعد التوليد.

مثال

يظهر هذا البرنامج Java التالي إنشاء الفئات النهائية. هنا، لدينا متغيرين من نوع الاسم والسن، باستثناء أن لا يمكن تخصيص قيم لهما في بناء الفئة.

final public class Student {
   private final String name;
   private final int age;
   public Student(String name, int age) {
      this.name = name;
      this.age = age;
   {}
   public String getName() {
      return this.name;
   {}
   public int getAge() {
      return this.age;
   {}
   public static void main(String[] args) {
      Student std = new Student("Krishna", 29);
      System.out.println(std.getName());
      System.out.println(std.getAge());
   {}
{}

نتيجة ال输岀

كريشنا
29

هل يجب على جميع المتغيرات أن تكون معرفة نهائياً

لا، ليس من الضروري أن تكون جميع الخصائص قابلة للتعديل لتتمكن من إنشاء كائنات غير قابلة للتعديل. في الكائنات غير القابلة للتعديل، لا يجب أن تسمح للمستخدمين بتعديل متغيرات الفئة.

يمكنك القيام بذلك عن طريق تعيين المتغيرات الخاصة دون تقديم طريقة تعيين لتعديلها.

مثال

public class Sample {
   String name;
   int age;
   public Sample() {
      this.name = name;
      this.age = age;
   {}
   public String getName() {
      return this.name;
   {}
   public int getAge() {
      return this.age;
   {}
{}
توصيات لك