Rumah > Java > javaTutorial > teks badan

Mengapa Anda Boleh Memanggil Kaedah Statik dengan Rujukan Objek Null di Jawa?

Patricia Arquette
Lepaskan: 2024-11-03 06:45:03
asal
640 orang telah melayarinya

Why Can You Call Static Methods with a Null Object Reference in Java?

Mengakses Kaedah Statik dengan Rujukan Null

Di Java, menggunakan kaedah pada rujukan null biasanya mencetuskan NullPointerException. Walau bagaimanapun, tingkah laku ini berbeza untuk kaedah statik.

Kaedah Statik lwn. Kaedah Contoh

Dalam Java, kaedah boleh sama ada statik atau contoh. Kaedah statik tergolong dalam kelas itu sendiri dan boleh dipanggil terus menggunakan nama kelas, manakala kaedah contoh dikaitkan dengan objek dan memerlukan rujukan objek untuk dipanggil.

Memanggil Kaedah Statik dengan Rujukan Null

Apabila menggunakan kaedah statik menggunakan rujukan nol, masa jalan Java secara automatik menggantikan rujukan dengan jenis kelas yang dimiliki oleh kaedah tersebut. Tingkah laku ini memastikan kaedah statik boleh dipanggil walaupun tiada contoh kelas wujud atau rujukannya adalah batal.

Contoh

Pertimbangkan kod Java berikut:

<code class="java">public class Why {

  public static void test() {
    System.out.println("Passed");
  }

  public static void main(String[] args) {
    Why NULL = null;
    NULL.test();
  }

}</code>
Salin selepas log masuk

Dalam contoh ini, kaedah test() adalah statik dan boleh dipanggil terus menggunakan nama kelas. Baris "NULL.test();" menggantikan rujukan nol dengan nama kelas "Mengapa" dan berjaya menggunakan kaedah test(). Tiada NullPointerException dibuang.

Mengapa Gelagat Ini Dibenarkan?

Java membenarkan gelagat ini kerana kaedah statik tidak memerlukan contoh kelas untuk dilaksanakan. Mereka dikaitkan dengan kelas itu sendiri, bukan objek tertentu. Apabila kaedah statik dipanggil menggunakan rujukan null, pengkompil memastikan bahawa jenis kelas yang betul digunakan.

Nota Awas

Semasa menggunakan kaedah statik menggunakan rujukan null ialah dibenarkan, ia dianggap sebagai amalan yang tidak baik. Pembangun hendaklah sentiasa menggunakan nama kelas yang betul apabila mengakses kaedah statik untuk mengelakkan kekeliruan dan kemungkinan ralat.

Atas ialah kandungan terperinci Mengapa Anda Boleh Memanggil Kaedah Statik dengan Rujukan Objek Null di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan