سؤال

ما هو الفرق الحقيقي بين مُنشئ C# الثابت وكتلة جافا الثابتة؟

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

هل أفتقد شيئًا ، أم أنها نفس الشيء ، فقط بأسماء مختلفة؟

هل كانت مفيدة؟

المحلول

فهي مكافئة ، باستثناء أن فئة C# يمكن أن تحتوي فقط على مُنشئ ثابت واحد (بالإضافة إلى مُهيئات الحقل الثابتة).

أيضا ، في C#، أ static سوف يطبق المنشئ beforefieldinit علَم.

نصائح أخرى

يوضحون نفسه ، يوضح المثال التالي ، أن C# Static Constructor يعمل نفس الكتلة الثابتة في Java

protected Singleton()
{
    Console.WriteLine("Singleton constructor");
}

    private static readonly Singleton INSTANCE;

    static Singleton() {
        try {
           INSTANCE = new Singleton();
        }
        catch(Exception e) {
            throw new Exception();
        }
    }

نعم ، إنها تعادل نقطة أخرى هي أن Java لا تدعم مُنشئًا ثابتًا ولكنها تدعم الكتلة الثابتة و C# دعم مُنشئ ثابت.

هم ليسوا.

في C#، هناك كتل يمكن فقط عقد مُنشئين. في Java ، يمكنك تنفيذ البيانات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top