JavaRush /Java Blog /Random-ID /Rehat kopi #142. Apa peran kata kunci statis di Java?

Rehat kopi #142. Apa peran kata kunci statis di Java?

Dipublikasikan di grup Random-ID
Sumber: FreeCodeCamp Kata kunci statis dapat digunakan di berbagai bagian kode Java seperti variabel, metode, dan blok statis. Hari ini kita akan mengetahui dengan tepat bagaimana hal itu dapat diterapkan dalam praktik. Rehat kopi #142.  Apa peran kata kunci statis di Java?  - 1Tujuan utama penggunaan kata kunci static di Java adalah untuk menghemat memori. Saat kita membuat variabel di suatu kelas yang akan diakses oleh kelas lain, pertama-tama kita harus membuat instance kelas tersebut dan kemudian memberikan nilai baru ke setiap instance variabel tersebut. Hal ini diperlukan agar nilai variabel baru sama untuk semua kelas/objek baru. Namun saat kita membuat variabel statis, nilainya tetap konstan di semua kelas lain dan kita tidak perlu membuat instance untuk menggunakan variabel tersebut. Dengan cara ini kita membuat variabel satu kali, sehingga memori hanya dialokasikan satu kali. Anda akan memahami ini lebih baik dengan beberapa contoh di artikel ini.

Cara membuat variabel statis di Java

Untuk memahami cara menggunakan kata kunci static saat membuat variabel, mari kita lihat cara biasa membuat variabel yang digunakan bersama oleh setiap instance kelas.
class Student {
    String studentName;
    String course;
    String school;

    public static void main(String[] args) {
        Student Student1 = new Student();
        Student Student2 = new Student();

        Student1.studentName = "Ihechikara";
        Student1.course = "Data Visualization";
        Student1.school = "freeCodeCamp";

        Student2.studentName = "John";
        Student2.course = "Data Analysis with Python";
        Student2.school = "freeCodeCamp";

        System.out.println(Student1.studentName + " " + Student1.course + " " + Student1.school + "\n");
        // Ihechikara Data Visualization freeCodeCamp
        System.out.println(Student2.studentName + " " + Student2.course + " " + Student2.school);
        // John Data Analysis with Python freeCodeCamp
    }
}
Saya akan menjelaskan apa yang terjadi pada kode di atas langkah demi langkah. Kami telah membuat kelas Student dengan tiga variabel - studentName , course dan school . Kami kemudian membuat dua instance kelas Student :
Student Student1 = new Student();
Student Student2 = new Student();
Contoh pertama adalah Student1 , yang memiliki akses ke variabel yang dibuat di kelasnya, memiliki nilai sebagai berikut:
Student1.studentName = "Ihechikara";
Student1.course = "Data Visualization";
Student1.school = "freeCodeCamp";
Contoh kedua mempunyai arti sebagai berikut:
Student2.studentName = "John";
Student2.course = "Data Analysis with Python";
Student2.school = "freeCodeCamp";
Jika Anda perhatikan lebih dekat, Anda akan menemukan bahwa kedua siswa tersebut memiliki nama sekolah yang sama - “freeCodeCamp”. Namun bagaimana jika kita harus menciptakan 100 siswa untuk sekolah yang sama? Artinya kita akan menginisialisasi variabel dengan nilai yang sama sebanyak 100 kali, mengalokasikan memori baru setiap kali. Ini mungkin tidak menjadi masalah bagi sebagian orang, tetapi dalam basis kode yang besar hal ini dapat memperlambat program secara signifikan. Untuk mengatasi masalah ini, kita akan menggunakan kata kunci static untuk membuat variabel sekolah . Setelah ini, semua instance kelas dapat menggunakan variabel ini. Sesuatu seperti ini:
class Student {
    String studentName;
    String course;
    static String school;

    public static void main(String[] args) {
        Student Student1 = new Student();
        Student Student2 = new Student();


        Student1.studentName = "Ihechikara";
        Student1.course = "Data Visualization";
        Student1.school = "freeCodeCamp";


        Student2.studentName = "John";
        Student2.course = "Data Analysis with Python";

        System.out.println(Student1.studentName + " " + Student1.course + " " + Student1.school + "\n");
        // Ihechikara Data Visualization freeCodeCamp
        System.out.println(Student2.studentName + " " + Student2.course + " " + Student2.school);
        // John Data Analysis with Python freeCodeCamp
    }
}
Dalam kode ini, kita telah membuat variabel statis bernama school . Perhatikan bahwa kata kunci static mendahului tipe data dan nama variabel: static String school = "freeCodeCamp"; . Sekarang ketika kita membuat instance baru dari kelas kita, kita tidak perlu menginisialisasi variabel sekolah untuk setiap instance. Dalam kode kita, kita hanya memberikan nilai pada variabel pada instance pertama, dan kemudian nilai tersebut diwarisi pada instance berikutnya. Perhatikan bahwa mengubah nilai variabel statis di mana pun dalam kode akan menggantikan nilai di bagian lain kode yang dideklarasikan sebelumnya. Oleh karena itu, Anda sebaiknya hanya menggunakan kata kunci static untuk variabel yang dimaksudkan agar tetap konstan dalam program. Anda juga dapat memberikan nilai pada variabel saat Anda membuatnya sehingga Anda tidak perlu mendeklarasikannya lagi saat membuat instance kelas: static String school = "freeCodeCamp"; . Inilah yang Anda dapatkan jika menggunakan metode ini:
class Student {
    String studentName;
    String course;
    static String school = "freeCodeCamp";

    public static void main(String[] args) {
        Student Student1 = new Student();
        Student Student2 = new Student();


        Student1.studentName = "Ihechikara";
        Student1.course = "Data Visualization";

        Student2.studentName = "John";
        Student2.course = "Data Analysis with Python";

        System.out.println(Student1.studentName + " " + Student1.course + " " + Student1.school + "\n");
        // Ihechikara Data Visualization freeCodeCamp
        System.out.println(Student2.studentName + " " + Student2.course + " " + Student2.school);
        // John Data Analysis with Python freeCodeCamp
    }
}
Sekarang Anda akan melihat cara menginisialisasi variabel statis menggunakan blok statis.

Cara membuat metode statis di Java

Sebelum kita melihat contohnya, berikut beberapa hal yang perlu Anda ketahui tentang metode statis di Java:
  • Metode statis hanya dapat mengakses dan mengubah variabel statis.
  • Metode statis dapat dipanggil/digunakan tanpa membuat turunan kelas.
Berikut ini contoh untuk membantu Anda memahami hal ini:
class EvenNumber {

    static int evenNumber;

    static void incrementBy2(){
        evenNumber = evenNumber + 2;
        System.out.println(evenNumber);
    }

    public static void main(String[] args) {
        incrementBy2(); // 2
        incrementBy2(); // 4
        incrementBy2(); // 6
        incrementBy2(); // 8
    }
}
Pada kode di atas, kita telah membuat bilangan bulat ( evenNumber ) di kelas bernama EvenNumber . Metode statis kami disebut incrementBy2() . Metode ini menambah nilai bilangan bulat bilangan genap dan mencetak nilainya. Tanpa membuat instance kelas, kami dapat memanggil metode incrementBy2() dalam metode utama program . Setiap kali kami memanggil metode ini, evenNumber bertambah 2 dan dicetak. Anda juga dapat menambahkan nama kelas ke suatu metode menggunakan notasi titik ketika memanggil metode: EvenNumber.incrementBy2(); . Setiap metode statis adalah milik kelasnya, bukan milik instance kelasnya.

Cara membuat blok statis di Java

Blok statis di Java mirip dengan konstruktor. Kita dapat menggunakannya untuk menginisialisasi variabel statis, mereka dieksekusi oleh kompiler sebelum metode utama .
class Block {

    static int year;

    static {
        year = 2022;
        System.out.println("This code block got executed first");
    }

    public static void main(String[] args) {

        System.out.println("Hello World");
        System.out.println(year);
    }
}
Pada kode di atas, kita membuat variabel integer statis year . Kami kemudian menginisialisasinya dalam blok statis:
static {
        year = 2022;
        System.out.println("This code block got executed first");
    }
Seperti yang Anda lihat, blok statis dapat dibuat menggunakan kata kunci static diikuti dengan kurung kurawal. Di blok statis kode kami, kami menginisialisasi variabel tahun dengan nilai 2022. Kami juga mencetak beberapa teks - “Blok kode ini dieksekusi terlebih dahulu.” Dalam metode utama kami mencetak “Hello World” dan variabel statis year . Di konsol, kode akan dieksekusi dalam urutan ini:
Blok kode ini dieksekusi pertama kali Hello World 2022
Ini dengan jelas menunjukkan bagaimana kode di blok statis dieksekusi terlebih dahulu sebelum metode utama .

Kesimpulan

Pada artikel ini, kita berbicara tentang kata kunci statis di Java. Ini adalah kata kunci yang pada dasarnya membantu kita mengoptimalkan memori dalam program yang ditulis di Java. Kita juga melihat cara membuat variabel dan metode statis dengan contoh. Terakhir, kita membahas tentang blok statis, yang dapat digunakan untuk menginisialisasi variabel statis. Blok statis dieksekusi sebelum metode utama. Selamat membuat kode!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION