2014-06-07 44 views
7

Tôi không nghĩ rằng nó có bất kỳ ảnh hưởng đến đầu ra chương trình, nhưng những gì lớp tôi nên đặt phương phápTôi nên đặt phương thức main void main (String [] args) ở đâu?

public static void main(String[] args) { 
    //... 
} 

trong chương trình của tôi? Là hình thức tốt hơn để tạo ra một lớp học riêng biệt, hoặc đặt nó trong một lớp học mà làm cái gì khác? Nếu tôi nên đặt nó trong một lớp học làm điều gì đó khác, cái nào? Nó có quan trọng không? Đây thực sự chỉ là một điều ước. Thông thường tôi tạo ra một lớp riêng biệt hoặc đặt nó trong lớp học giao dịch với gui, nhưng tôi muốn biết đúng cách để làm điều đó.

+3

Điều này phụ thuộc rất nhiều vào những gì chương trình của bạn thực hiện, mức độ lớn, cách triển khai và hơn thế nữa. Tôi thường sử dụng một lớp 'Launcher', nhưng trong một chương trình dựa trên GUI đơn giản, ví dụ, nó có thể có ý nghĩa để đặt nó trên cửa sổ chính. – chrylis

+0

Bạn biết đấy, đó là một câu hỏi hay. Điều này luôn làm phiền tôi. –

+0

Thực ra câu hỏi này chủ yếu dựa trên ý kiến ​​hoặc quá rộng. Một số người thích tạo ra lớp riêng biệt chỉ với phương pháp chính là OK, và một số muốn đặt phương thức này vào lớp đã tồn tại mà cũng có một số mục đích khác trong ứng dụng. Lý do có thể đặt 'main' trong một lớp đã tồn tại là nếu bạn muốn phương thức main có quyền truy cập vào một số phương thức riêng của lớp đó và bạn không nên/không thể tạo lại các phương thức này trong một số lớp Luncher bên ngoài. – Pshemo

Trả lời

3

Nếu bạn đang viết các chương trình rất ngắn (ví dụ: các thuật toán đơn giản), có vẻ thuận tiện hơn khi chỉ thêm phương thức chính của bạn vào lớp chứa một số logic chương trình cơ bản. Tuy nhiên, đối với các dự án lớn hơn, rất hữu ích khi tách phương thức chính của bạn khỏi truy cập cơ sở dữ liệu logic/cơ sở dữ liệu/bất kỳ thứ gì khác cần phải làm việc như một thực thể đóng gói.

Phương pháp chính chỉ nên cung cấp cho bạn phần đầu của chuỗi, để bạn có thể dễ dàng theo dõi quy trình làm việc của chương trình ngay từ đầu. Bao gồm logic (ngay cả chuyển đổi số đơn giản/chuỗi hoạt động) trong lớp chứa phương thức chính có thể gây ra một số hỗn loạn không cần thiết, cố gắng tách tất cả mọi thứ bạn không thực sự cần ở đó và đặt nó trong lớp trợ giúp.

0

Cách đúng để xử lý tùy thuộc vào ứng dụng của bạn. Nhưng, hầu hết các lần tốt hơn là nên có một mã rất đơn giản và dễ hiểu trong phương pháp chính phản ánh hành vi ứng dụng của bạn trong một thuật ngữ rất rộng.

1

Khi bạn đang viết chương trình có nhiều hơn một lớp thì phương thức main() phải nằm trong lớp có tên chương trình.

Nếu tên chương trình là temp.java và có hai lớp có tên temptemp1 phương thức main() nên được đưa vào lớp học. Lớp riêng biệt là không cần thiết

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