Đó là chuỗi vì dòng lệnh được thể hiện bằng văn bản. Nếu bạn muốn chuyển đổi văn bản đó thành số nguyên hoặc boolean, bạn phải tự làm điều đó - làm thế nào hệ điều hành hoặc bootstrapper Java biết chính xác cách bạn muốn mọi thứ được phân tích cú pháp? Tôi giả sử Java có thể tìm phương thức chính có cùng số tham số như đối số dòng lệnh và sau đó thử phân tích cú pháp bằng cách sử dụng Integer.parseInt
v.v ... nhưng điều này sẽ khá phức tạp và vẫn không đủ trong nhiều trường hợp.
Đối với nó là bắt buộc - về cơ bản các nhà thiết kế Java đã quyết định gắn vào một chữ ký phương thức duy nhất, đó là thẳng thắn đơn giản hơn cho phép nó là tùy chọn. Mặc dù vậy, có thể có - trong C#, bạn có thể có bất kỳ số nào trong số
static void Main()
static void Main(string[] args)
static int Main()
static int Main(string[] args)
Cuối cùng, nó không tạo ra nhiều khác biệt, trung thực. Không có nhược điểm đáng kể trong việc phải bao gồm tham số.
Nguồn
2009-11-04 07:01:27
Oi, tại sao tên thay đổi? – paxdiablo
+1 - nó không tạo ra bất kỳ sự khác biệt nào. Di chuyển dọc theo, không có gì xảy ra ở đây :-) –
@paxdiablo: Một chút thú vị do cuộc nói chuyện của tôi tại DevDays, đó là tất cả. Sẽ hoàn nguyên sau vài ngày hoặc một tuần. –