2010-10-16 35 views
6
public static void main(String[] args) 
{ 
    boolean t=true; 
    System.out.println("Before return"); 
    if(t) return; 
    System.out.println("not execute"); 
} 

Trong mã ở trên khi sử dụng return thì nó sẽ trở về hàm gọi hàm chính. Ai chính xác gọi hàm main?Ai gọi chức năng chính trong java?

+1

Bạn có thể gọi một phương thức chính từ phương thức khác cũng như nhờ trình khởi chạy gọi nó. –

Trả lời

10

Các lớp Java được thực hiện trong một ngữ cảnh lớn hơn (một JVM cụ thể như các ngôn ngữ khác đã lưu ý). Dưới đây là một số khả năng:

Trong mọi trường hợp, phương thức main() là điểm nhập chuẩn để thực thi mã cho một lớp cụ thể. Từ các tài liệu trên java JVM:

MÔ TẢ

Các công cụ java ra mắt một ứng dụng Java. Nó thực hiện điều này bằng cách bắt đầu một môi trường chạy Java, tải một lớp được chỉ định và gọi phương thức chính của lớp đó. Tuyên bố phương pháp phải giống như sau:

public static void main(String args[]) 

Phương thức phải được khai báo công khai và tĩnh, không được trả về giá trị nào và phải chấp nhận mảng String làm tham số. Theo mặc định, đối số phi tùy chọn đầu tiên là tên của lớp được gọi. Nên sử dụng tên lớp học đầy đủ. Nếu tùy chọn -jar được chỉ định, đối số phi tùy chọn đầu tiên là tên của một tệp nén JAR chứa các tệp lớp và tài nguyên cho ứng dụng, với lớp khởi động được chỉ ra bởi tiêu đề biểu thức lớp chính.

Thời gian chạy Java tìm kiếm lớp khởi động và các lớp khác được sử dụng, trong ba bộ vị trí: đường dẫn lớp khởi động, các phần mở rộng đã cài đặt và đường dẫn lớp người dùng.

Đối số không tùy chọn sau tên lớp hoặc tên tệp JAR được chuyển đến hàm chính.

Lệnh javaw giống với java, ngoại trừ lệnh javaw không có cửa sổ bảng điều khiển liên quan. Sử dụng javaw khi bạn không muốn một cửa sổ nhắc lệnh xuất hiện. Tuy nhiên, trình khởi chạy javaw sẽ hiển thị một hộp thoại có thông tin lỗi nếu khởi chạy không thành công vì một lý do nào đó.

Bạn trạng:

Trong đoạn mã trên khi sự trở lại được sử dụng sau đó nó nên trở về chức năng mà gọi hàm main.

Có thể không có bất kỳ chức năng Java khác (trong thực tế có thường là không) mà các cuộc gọi main() chức năng. Đó là quy ước để tuyên bố một điểm vào nổi tiếng. Nếu JVM được khởi chạy để chạy phương thức main() của lớp học, thì khi trả về main(), JVM thoát, ngoại trừ một vài trường hợp đặc biệt, ví dụ: có các luồng không phải daemon khác đang chạy hoặc có một hook tắt máy.

+0

Trích dẫn của bạn về tuyên bố của tôi bị thiếu điều khoản đủ điều kiện của tôi: "ngoại trừ trong một vài trường hợp đặc biệt, ví dụ: có các luồng không phải daemon khác đang chạy hoặc có móc tắt." trong đó bao gồm mối quan tâm của bạn. –

17

Máy ảo Java.

0

Các JVM sử dụng main() như là điểm khởi đầu cho một chương trình giống như int main() trong C++.

0

Đồng ý với các câu lệnh trên vì JVM gọi phương thức chính bởi vì nó là điểm đầu vào cho bất kỳ lớp nào phải được tải để thực thi lớp.

0

Jvm bắt đầu chủ đề chính để gọi phương thức chính.

Các vấn đề liên quan