"Saya ingin memberitahu anda tentang pemulaan objek. Apabila anda mencipta objek, anda perlu menetapkan nilai awal kepada pembolehubahnya untuk mengelakkan situasi di mana anda mengakses objek yang tidak mempunyai maklumat yang diperlukan untuk berfungsi dengan betul."

"Mari kita pertimbangkan objek Fail. Maklumat minimum yang diperlukan untuk fail ialah namanya. Adalah tidak masuk akal untuk mencipta fail tanpa nama. "

"Andaikan kita menulis kelas MyFile untuk bekerja dengan fail. Apakah maklumat yang diperlukan untuk setiap objek?"

"Nama fail yang dikaitkan dengan objek?"

"Betul. Untuk melakukan ini, kami menambah kaedah permulaan () pada kelas kami. Beginilah rupanya."

Contoh:
class MyFile
{
    private String filename = null;

    public void initialize(String name)
    {
        this.filename = name;
    }}

"Kami menambah kaedah permulaan untuk membolehkan anda bekerja dengan objek dengan memanggil kaedah. Kami boleh memanggil kaedah objek serta-merta selepas memanggil kaedah permulaan . Jika kami tidak boleh bekerja dengan objek, kami memanggilnya tidak sah ; jika tidak, kita katakan objek itu sah . Tugas utama kaedah permulaan adalah untuk menerima semua data yang diperlukan oleh objek untuk menjadikannya sah. "

"Saya faham."

"Sekarang mari kita jadikan tugas kita lebih sukar. Atau, jika difikirkan semula, lebih mudah. ​​Bergantung pada cara anda melihatnya. Katakan pengaturcara yang menggunakan kelas kita akan mendapati lebih mudah untuk menghantar hanya direktori fail dan nama pendek berbanding laluan penuhnya. Kita boleh mencipta kaedah permulaan yang lain ( Java membolehkan kita mencipta beberapa kaedah dengan nama yang sama ) untuk membenarkan pengaturcara melakukan ini. Begini rupa kelas kita:"

Contoh dengan dua kaedah permulaan :
class MyFile
{
    private String filename = null;
    public void initialize(String name)
    {
        this.filename = name;
    }

    public void initialize(String folder, String name)
    {
        this.filename = folder + name;
    }}

"Satu lagi perkara: kita sering perlu mencipta salinan sementara fail di sebelah yang semasa."

"Bolehkah kita mencipta kaedah untuk melakukan ini?"

"Sure. Tengok."

Buat salinan di sebelah fail semasa:
class MyFile
{
    private String filename = null;
    public void initialize(String name)
    {
        this.filename = name;
    }

    public void initialize(String folder, String name)
    {
        this.filename = folder + name;
    }

   // The filename will be stored in the same directory as file.
    public void initialize(MyFile file, String name)
    {
        this.filename = file.getFolder() + name;
    }}

"Dan saya boleh membuat seberapa banyak kaedah ini seperti yang saya mahu?"

"Nah, mengikut sebab. Tetapi secara teknikalnya, ya, seberapa banyak yang anda mahu."

"Bilakah saya perlu memanggil kaedah permulaan?"

"Sejurus selepas mencipta objek, untuk menjadikannya sah."

Contoh:
MyFile file = new MyFile();
file.initialize("c:\data\a.txt");

String text = file.readText();
MyFile file = new MyFile();
file.initialize("c:\data\", "a.txt");

String text = file.readText();
MyFile file = new MyFile();
file.initialize("c:\data\a.txt");

MyFile file2 = new MyFile();
file2.initialize("a.txt");

String text = file2.readText();
2
Tugasan
Java Syntax,  tahappelajaran
Terkunci
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and earn a little dark matter. What's more, you combat laziness.

"Apakah kaedah getFolder() ini?"

"Kami sebenarnya tidak menunjukkan kod di sini. Ia mewakili kaedah yang mengembalikan rentetan dengan nama folder tempat fail kami disimpan."