JavaRush /وبلاگ جاوا /Random-FA /مقداردهی اولیه فیلدها

مقداردهی اولیه فیلدها

در گروه منتشر شد
با سلام خدمت همکاران تصمیم گرفتم چندین راه برای مقداردهی اولیه فیلدها در جاوا نشان دهم. این مقاله ممکن است برای کسانی که تازه شروع به یادگیری برنامه نویسی کرده اند مفید باشد. مقداردهی اولیه فیلد - 1برای اجرای نمونه های دمو، اجازه دهید یک کلاس Java Demo با متد main() ایجاد کنیم . در متد main() برای اطمینان از اجرای برنامه چیزی را روی صفحه چاپ می کنیم:
public class Demo {
    public static void main(String[] args) {
        System.out.println("Hello JavaRush.");
    }
}
در مرحله بعد، بیایید یک کلاس Java cat ایجاد کنیم و چندین فیلد به آن اضافه کنیم: نام، سن.
class Cat {
    String name;
    int age;
}
در روش main()ما دو گربه ایجاد خواهیم کرد. بیایید سعی کنیم نام و سن آنها را نمایش دهیم:
public class Demo {
    public static void main(String[] args) {
        Cat cat1 = new Cat();
        Cat cat2 = new Cat();

        System.out.println("Name первого кота: " + cat1.name);
        System.out.println("Возраст первого кота: " + cat1.age);
        System.out.println();
        System.out.println("Name второго кота: " + cat2.name);
        System.out.println("Возраст второго кота: " + cat2.age);
    }
}

class Cat {
    String name;
    int age;
}
با اجرای برنامه، خروجی را دریافت می کنیم:
Name первого кота: null
Возраст первого кота: 0

Name второго кота: null
Возраст второго кота: 0
از آنجایی که ما این فیلدها را مقداردهی اولیه نکردیم، مقادیر پیش فرض را دریافت کردند. Stringبه انواع مرجع اشاره دارد و برای همه انواع مرجع مقدار پیش فرض null. intمتعلق به انواع ابتدایی است. هر نوع اولیه مقدار پیش فرض خود را دارد:
مقداردهی اولیه فیلد - 2
چگونه می توانیم مقادیر واقعی را به فیلدهای خود منتقل کنیم (به عنوان مثال، نام "تام" و سن "دو سالگی")؟ اولین راه این است که فیلدها را بلافاصله در هنگام اعلان مقداردهی اولیه کنید:
public class Demo {
    public static void main(String[] args) {
        Cat cat1 = new Cat();
        Cat cat2 = new Cat();

        System.out.println("Name первого кота: " + cat1.name);
        System.out.println("Возраст первого кота: " + cat1.age);
        System.out.println();
        System.out.println("Name второго кота: " + cat2.name);
        System.out.println("Возраст второго кота: " + cat2.age);
    }
}

class Cat {
    String name = "Том";
    int age = 2;
}
ما برنامه را اجرا می کنیم و می بینیم که فیلدها با مقادیر ما مقداردهی اولیه شده اند:
Name первого кота: Том
Возраст первого кота: 2

Name второго кота: Том
Возраст второго кота: 2
علاوه بر این، مهم نیست که چند گربه ایجاد کنیم، همه آنها نام و سن یکسانی خواهند داشت. یعنی ما به سادگی مقادیر null و 0 را به "Volume" و 2 تغییر دادیم. روش بعدی اولیه سازی از طریق سازنده است. بیایید یک سازنده برای گربه با دو پارامتر ایجاد کنیم. معمولاً نام پارامترها مانند نام فیلدها ساخته می شود. در این مورد، باید از کلمه برای اشاره به فیلدها استفاده کنید thisو پارامترهای سازنده را می توان به روش معمول دسترسی داشت:
public Cat(String name, int age) {
    this.name = name;
    this.age = age;
}
از نو:
مقداردهی اولیه فیلد - 3
بیایید همچنین یک سازنده خالی بدون پارامتر اضافه کنیم تا مثال قبلی ما کار کند. در روش main()ما دو گربه دیگر را با استفاده از سازنده با پارامترها اضافه می کنیم.
public class Demo {
    public static void main(String[] args) {
        Cat cat1 = new Cat();
        Cat cat2 = new Cat();

        System.out.println("Name первого кота: " + cat1.name);
        System.out.println("Возраст первого кота: " + cat1.age);
        System.out.println();
        System.out.println("Name второго кота: " + cat2.name);
        System.out.println("Возраст второго кота: " + cat2.age);

        Cat cat3 = new Cat("Рыжик", 5);
        Cat cat4 = new Cat("Barsik", 9);

        System.out.println();
        System.out.println("Name третьего кота: " + cat3.name);
        System.out.println("Возраст третьего кота: " + cat3.age);
        System.out.println();
        System.out.println("Name четвертого кота: " + cat4.name);
        System.out.println("Возраст четвертого кота: " + cat4.age);
    }
}

class Cat {
    String name;
    int age;

    public Cat(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Cat() {
    }
}
بیایید برنامه را اجرا کنیم:
Name первого кота: null
Возраст первого кота: 0

Name второго кота: null
Возраст второго кота: 0

Name третьего кота: Рыжик
Возраст третьего кота: 5

Name четвертого кота: Барсик
Возраст четвертого кота: 9
همانطور که می بینید، گربه هایی که به این روش خلق شده اند، فردیت بیشتری دارند. راه های دیگری برای مقداردهی اولیه فیلدها در جاوا وجود دارد، اما اینها برای شروع کافی هستند.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION