Hàm main trong hầu như các ngữ điệu thiết kế chắc hẳn rằng là hàm đầu tiên mà lại bọn họ làm quen thuộc khi học 1 ngôn từ new. Nó nhập vai trò như một điểm bắt đầu (entry point) "vị trí cơ mà quyền tinh chỉnh và điều khiển được gửi từ bỏ hệ thống đến một lịch trình máy tính, cùng tại đó thì CPU vẫn truy cập vào 1 công tác hoặc một đoạn code và thực hiện xúc tiến."
Phần to hễ lực để tôi viết ra bài bác này là sau thời điểm thủ thỉ cùng với vài ba bạn bạn về những hiệ tượng trong Java, công ty chúng tôi hối hả nhận ra là tôi đã bỏ lỡ vài trang bị cơ bạn dạng, rõ ràng là hàm main. Do đó tôi sẽ thu thập những thắc mắc thú vị về chủ thể này, chúng ta hãy thử vấn đáp bọn chúng trước lúc phát âm lời giải nhé, cùng nếu như không vấn đáp được thì cũng chả sao, giải đáp vào này tôi cũng đề xuất search google hết đấy
Từ main này chỉ là một trong convention lấy từ phần lớn ngôn ngữ nhỏng C với C++, nó chưa hẳn là một trong những reserved từ khoá trong Java. lấy ví dụ bạn có thể đánh tên trở nên cùng với nó:
int main;
Bạn đang xem: Public static void main(string args) là gì
The String <>args in the main method can never be null even if no arguments are passed. It is simply an empty initialized array of strings.
Tmê say số này vào hàm main ko khi nào null bao gồm cả Khi không có tham số như thế nào được truyền vào. Nó chỉ đơn giản dễ dàng là một trong những string array trống đã có được khởi sản xuất.
Vị trí của modifier như public tốt static ko quan trọng đối với hàm main giỏi bất cứ hàm nào không giống vào Java, cần static public void main cũng vẫn OK. Dù vậy thì return type cần phải đi sau các modifier.
Quý khách hàng có thể overload hàm main miễn sao nó khác signature. JVM đã chỉ điện thoại tư vấn hàm main cùng với parameter là String <>args nhưng thôi. Bạn cần phải tự hotline đông đảo hàm main khác giả dụ bạn muốn sử dụng chúng.
public class FunMainMethodTrivia //Hàm main nguyên ổn phiên bản //JVM sẽ luôn Gọi hàm này public static void main(String <>args) // //Overload đúng theo lệ //JVM sẽ không còn gọi nó public static void main(String s1) //Quý Khách cần được từ Điện thoại tư vấn nếu muốn cần sử dụng //Overload hòa hợp lệ //JVM sẽ không còn hotline nó public static void main(String s1, String s2, String s3) //quý khách hàng rất cần phải từ bỏ gọi nếu như muốn cần sử dụng
Xem thêm: Bàn Ăn Nhập Khẩu Đài Loan, Bã N ÄN Hiá»N ÄÁº¡I TạI Tphcm
Câu trả lời là có, tuy nhiên nó nằm sâu phía bên trong Android framework.
Nếu các bạn tò mò và hiếu kỳ tới mức đào sâu theo stachồng trace tuyệt bất cứ một exception làm sao, các bạn sẽ thấy nó đi qua Handler, Looper, MessageQueue và tiếp đến là entry point của chương trình của công ty. Có một class đặc biệt quan trọng tên là ActivityThread gồm đựng hàm main vào vai trò là entry point trong một lịch trình Android.
public class Parent public static void main(String <>args) System.out.println("Im in the parent main method!"); //Chúng ta đang cho chạy class nàypublic class Child public static void main(String <>args) Parent.main(args); Câu trả lời là bao gồm, vẫn chạy thông thường.
Hàm static thiết yếu được override.
public class Parent public static void main(Object <>args) System.out.println("Im in the main method!"); Câu trả lời là không. JVM chỉ quyên tâm đến hàm có tmê say số là String<>, với trường phù hợp bên trên thì nó vẫn không tìm kiếm được entry point để khởi hễ chương trình.
Bài viết được dịch tự How well vị you know the Java main method? 12 simple questions lớn kiểm tra your knowledge! của người sáng tác Martin Ombura Jr.