Skip to main content

Apa itu metode statis?

Metode pemrograman komputer yang berorientasi objek yang dinyatakan dalam kelas tetapi tidak tergantung pada instantiasi tertentu dari kelas itu disebut metode statis.Sebagian besar bahasa pemrograman termasuk kata kunci statis dalam deklarasi metode untuk membuat metode statis.Metode -metode ini sangat dimiliki oleh kelas yang terkandung di dalam dan bukan pada objek apa pun yang dipakai dari kelas itu.Mereka sering disebut sebagai Metode kelas .

Nama literal kelas biasanya digunakan untuk mengakses metode statis alih -alih mengacu padanya dengan nama objek yang dipakai.Diizinkan di Java untuk menggunakan nama objek untuk merujuk pada metode ini, tetapi sangat tidak disarankan.Jika nama objek digunakan, seseorang yang membaca kode dapat membingungkan salah satu metode ini dengan metode instance.

Metode statis sering digunakan dalam kelas utilitas yang tidak bergantung pada variabel instance dari kelas tertentu.Mereka juga digunakan ketika seorang programmer perlu mengakses metode ini tetapi tidak perlu instantiate kelas yang terkandung dalam. Kelas utilitas biasanya tidak dipakai menjadi objek.Tidak biasa bagi metode utilitas untuk memiliki kebutuhan untuk memodifikasi informasi objek.Metode dari kelas Java.lang.math, seperti POW (), akan menjadi contoh bagaimana jenis metode ini akan digunakan dalam kelas utilitas.

Metode instance dapat secara langsung mengakses variabel instance, variabel statis, metode instance, dan metode statis.Metode statis tidak dapat secara langsung mengakses variabel instance dan metode instance.Karena sifat metode instan yang memiliki akses yang lebih baik ke anggota kelas daripada metode statis, metode instan adalah jenis metode yang biasanya digunakan dalam kelas reguler.

Salah satu kelemahan utama dari metode statis terjadi selama pewarisan ketika polimorfisme digunakan.Selama metode statis induk tidak dinyatakan final, metode statis anak yang sama dapat diberi kode di kelas anak seolah -olah sedang ditimpa.Ini secara teknis disebut persembunyian alih -alih mengesampingkan karena metode statis tidak dapat diganti.

Saat persembunyian digunakan, jika metode statis induk diakses menggunakan nama kelas, metode induk akan digunakan.Jika metode statis anak yang ditimpa diakses menggunakan nama objek, metode anak yang ditimpa akan digunakan.Masalah terjadi ketika objek anak diatur sebagai orang tua.Dalam hal ini, panggilan ke metode statis anak yang Upcast akan menggunakan metode induk alih -alih metode anak yang diharapkan.Dengan polimorfisme sejati, metode anak akan menjadi yang diaktifkan setelah upcast.