Rumah >Java >javaTutorial >Mengapa kaedah `utama` dalam Java diisytiharkan sebagai `statik`?

Mengapa kaedah `utama` dalam Java diisytiharkan sebagai `statik`?

Linda Hamilton
Linda Hamiltonasal
2024-12-22 04:20:09563semak imbas

Why is the `main` method in Java declared as `static`?

Kaedah Utama Java: Mengapa Pengisytiharan Statik?

Kaedah utama Java mempunyai tandatangan khusus:

public static void main(String[] args) {
    ...
}

Ini menimbulkan persoalan: adakah pengubah suai statik penting untuk yang utama kaedah?

Konvensyen, Bukan Keperluan

Bertentangan dengan tanggapan awal, pengisytiharan statik untuk kaedah utama ialah konvensyen, bukannya keperluan linguistik. Ia mungkin mengejutkan anda, tetapi nama kaedah "main()" dan parameter String[] hanyalah konvensyen.

Konvensyen Alternatif

Java 21 memperkenalkan konvensyen alternatif yang membenarkan peninggalan parameter String[], pengubah suai awam dan juga pengubah statik. Sekiranya tiada pengubah suai statik, instance kelas akan dibuat sebelum invocation main(), yang memerlukan kelas mempunyai pembina parameter sifar bukan persendirian.

Antara Muka Asli Java (JNI) dan java.exe

Pelaksanaan program Java melalui java.exe (atau javaw.exe pada Windows) melibatkan panggilan JNI yang memuatkan JVM sebagai DLL. JNI berfungsi sebagai jambatan antara persekitaran JVM dan C/C.

java.exe: Aplikasi C Ringkas

java.exe pada asasnya adalah aplikasi C dipermudahkan yang menghuraikan argumen baris perintah, mencipta tatasusunan String dalam JVM, mencari kaedah main() dalam kelas yang ditentukan menggunakan JNI dan memanggilnya dengan argumen tatasusunan. Proses ini menyerupai pantulan Java, sebaliknya menggunakan panggilan fungsi asli.

Menyesuaikan java.exe

Adalah mungkin untuk mengubah suai kod sumber java.exe (disediakan dengan JDK) untuk mengubah fungsinya. Ini digunakan dalam aplikasi berasaskan Java untuk menyesuaikan pelancar, menyediakan ikon unik dan mengendalikan senario tertentu (cth., menghantar pemegang COM ke main()).

Kemudahan dan Pengaruh Sejarah

Sifat statik kaedah utama menawarkan kemudahan dan sejajar dengan konvensyen penamaan yang diterima pakai daripada C. Ia memperkasakan IDE untuk mengesan secara automatik kelas yang boleh dilancarkan dalam projek. Walaupun alternatif wujud, kaedah utama "statik" kekal sebagai konvensyen di mana-mana dalam pengaturcaraan Java.

Atas ialah kandungan terperinci Mengapa kaedah `utama` dalam Java diisytiharkan sebagai `statik`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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