Java Pass-by-Value and Reference
في كود Java المقدم، يتم تمرير متغير ToyNumber حسب القيمة إلى play() طريقة. وهذا يعني أنه يتم إنشاء نسخة من المتغير داخل الطريقة، وأي تعديلات يتم إجراؤها داخل الطريقة لا تنعكس على المتغير الأصلي. يؤدي هذا إلى إظهار الإخراج أن ToyNumber في main() يظل بدون تغيير بعد تعديله داخل طريقة play().
لتحقيق ما يعادل مرجع التمرير للأوليات في Java، يمكنك التفكير في الخيارات التالية:
تمرير مرجع إلى كائن
إنشاء فئة لتغليف المتغير البدائي كمتغير عضو. قم بتمرير مثيل لهذه الفئة إلى الطريقة، مما يؤدي بشكل فعال إلى تمرير مرجع إلى المتغير الأساسي.
إرجاع القيمة المعدلة
تعديل طريقة التشغيل () لإرجاع القيمة المعدلة لـ رقم اللعبة. يتطلب هذا تحديث الاستدعاء في main() لتعيين القيمة التي تم إرجاعها إلى المتغير الأصلي.
الفئة أو المتغير الثابتإذا تم تعريف الوظيفتين داخل نفس الفئة أو الفئة على سبيل المثال، يمكنك تعريف ToyNumber كفئة أو متغير ثابت. وهذا يجعلها في متناول كلتا الوظيفتين ويضمن أن أي تعديلات يتم إجراؤها تنعكس في المتغير الأصلي.
قم بتمرير مصفوفة ذات عنصر واحد تحتوي على المتغير البدائي. يعتبر هذا اختراقًا ولكن يمكن استخدامه لتحقيق سلوك يشبه التمرير المرجعي.
من خلال اعتماد هذه التقنيات، يمكنك محاكاة سلوك التمرير المرجعي للأنواع البدائية في Java بشكل فعال، مما يسمح لك بذلك قم بتعديل المتغيرات الأصلية حتى عند تمريرها كوسيطات للطرق.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3