Đây là câu hỏi tôi phải đối mặt trong cuộc phỏng vấn của tôi.
Tại sao phương thức chính trong Java được gọi là public static void main (String [] args)?
Câu trả lời:
1. main () phải được khai báo công khai vì nó được JVM gọi bất cứ khi nào chương trình thực thi bắt đầu. JVM không thuộc gói chương trình của chúng tôi.
Đặt hàng để truy cập chính bên ngoài gói, chúng tôi phải khai báo nó là công khai. Nếu chúng tôi khai báo nó là bất kỳ thứ gì khác ngoài công khai, nó sẽ hiển thị Lỗi Runtime nhưng không phải là lỗi thời gian biên dịch
2. main () phải được khai báo là static vì nếu một phương thức được khai báo là static thì chúng ta có thể gọi phương thức đó bên ngoài lớp bằng ClassName.methodName ();
class Sample
{
static void fun()
{
System.out.println("Hello");
}
}
class Test
{
public static void main(String[] args)
{
Sample.fun();
}
}
Trước tiên, JVM sẽ tải lớp Test và sẽ kiểm tra các đối số dòng lệnh và gọi phương thức chính là Test.main ();
3. main () phải được khai báo là void main () vì JVM không mong đợi bất kỳ giá trị nào từ hàm main (). Vì vậy, nó phải được khai báo là void.
Nếu loại trả về khác được cung cấp, thì đó là RunTimeError tức là; NoSuchMethodFoundError.
4. main () phải có các đối số Chuỗi dưới dạng mảng vì JVM gọi phương thức chính bằng cách truyền đối số dòng lệnh. Chúng được lưu trữ trong đối tượng mảng chuỗi, nó được truyền dưới dạng đối số cho hàm main ().