Đây chỉ là suy nghĩ của tôi:
main() là phương pháp tĩnh không liên quan đến trường hợp đối tượng. Chúng ta biết rằng nó tồn tại như một điểm vào, điều đó làm cho chương trình/lớp thực thi của chúng ta.
Điều này là trong Java, mọi thứ (nhưng nguyên thủy) là một đối tượng, vì vậy chính() phải được khai báo trong một số lớp ở đâu đó. Mã như một phương thức tĩnh có thể thực hiện được quan tâm nhiều hơn với việc thiết lập chương trình để thực thi, và ủy quyền cho logic nghiệp vụ của chúng ta (các đối tượng thực sự làm điều gì đó) để chạy ứng dụng. Như vậy, mối quan tâm của nó là khác biệt với phần còn lại của lớp của chúng tôi (trong đó xác định một số dữ liệu và hành vi mà chúng tôi đang cố gắng đóng gói).
chính() không thực sự thuộc về dữ liệu và hành vi của các lớp học hàng ngày của chúng tôi, vì tôi nghi ngờ rằng mỗi lớp cần phải được thực thi một mình. mối quan tâm chính của() là chạy chương trình của chúng tôi. Như vậy, nó phải được khai báo khỏi các đối tượng nghiệp vụ của chúng ta, trong một mô-đun của dự án liên quan đến việc khởi chạy/thực thi ứng dụng. Vì vậy, như bạn có thể đoán, tôi đang đề xuất chính xác những gì bạn đã nói không đề xuất - giữ chính từ các lớp học và logic của bạn càng nhiều càng tốt, và chỉ tuyên bố nó trong bối cảnh của một điểm vào ứng dụng của bạn.
Đối với vị trí trong một tệp, tôi không thực sự nghĩ nó quan trọng - miễn là rõ ràng mã trong tệp đó có liên quan đến việc thiết lập và chạy chương trình.
Nguồn
2011-10-27 05:01:42
Tại sao * không * giữ chính() trong tệp riêng của nó? Nếu bạn không muốn sử dụng OOP thì không sử dụng java ... – bdares
Đây là kiểu kiểu để tránh trộn lẫn các đối số phân tích cú pháp và bất kỳ kiểu chuẩn bị nào trước khi gọi như "job.doAll()". –
cảm ơn tất cả vì ý kiến của bạn. Nhóm của chúng tôi đã quyết định đặt chính vào đầu lớp vì nó là điểm vào của lớp chức năng. –