2011-11-17 26 views

Trả lời

2

Hệ thống hiển thị nhiều thứ khác nhau mà nhà phát triển có thể sử dụng Hệ thống cho phù hợp.

Tôi sẽ lo ngại về một lập trình viên chơi trực tiếp với Thời gian chạy. Đối với hệ thống để gọi các phương pháp, họ cần phải được tiếp xúc.

Hệ thống cung cấp giao diện cho Runtime để cho phép truy cập vào các phương thức Runtime thích hợp để được gọi bởi các lập trình viên. Gọi các phương thức Hệ thống và cho phép họ ủy quyền một cách thích hợp.

+0

Tôi không hiểu những gì bạn muốn thể hiện. Nếu java không muốn các nhà phát triển chơi trực tiếp với Runtime, nó sẽ biến nó thành riêng tư thay vì công khai. Trong thực tế, chúng ta có thể gọi các phương thức của Runtime một cách tự do. – Chao

+0

@Richard Lớp Runtime cho thấy môi trường JVM và OS bên dưới theo những cách có thể không di động được. Lớp System hiển thị một khung nhìn di động nhất quán của JVM và OS. Thời gian chạy không thể là riêng tư như một số lớp, bao gồm cả hệ thống, cần phải gọi nó. Cũng có những trường hợp giới hạn khi gọi phương thức trực tiếp có thể phù hợp. – BillThor

+0

Bạn có nghĩa là chúng ta nên luôn luôn thích sử dụng lớp Hệ thống, nếu có thể? Phương pháp viết tắt có thể là một ý tưởng hay ở đâu đó, nhưng thiết kế API như thế này thực sự khó hiểu. – Chao

0

Nếu bạn tìm ví dụ theo phương pháp System#load(String), bạn thấy, nó gọi phương thức Runtime#load(String). Tương tự cho gc(). Vì vậy, nó có lẽ là vì lý do lịch sử.

+0

Tôi không đồng ý với đối số lịch sử. Nếu bạn nhìn vào API Java 1.0, bạn sẽ thấy rằng các phương thức luôn có mặt trong Hệ thống và Thời gian chạy. – Jonathan

4

Đoán của tôi (hãy nhớ, đó là phỏng đoán), là các phương pháp trong lớp học System có sẵn để thuận tiện cho bạn. Ví dụ: System.gc(); là tĩnh, trong đó Runtime.gc(); là phương pháp thể hiện. Điều này làm cho cuộc gọi dễ dàng hơn để thực hiện, vì bạn không cần phải lấy một cá thể Runtime.

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