Tất cả các chương trình Java phải có một điểm vào, luôn là phương thức main(). Mỗi khi chương trình được gọi, đầu tiên nó sẽ tự động thực thi phương thức main().
Phương thức main() có thể xuất hiện trong bất kỳ lớp nào là một phần của ứng dụng, nhưng nếu ứng dụng là một phức hợp chứa nhiều tệp, thông thường sẽ tạo một lớp riêng chỉ dành cho hàm main(). Lớp chính có thể có bất kỳ tên nào, nhưng thường sẽ chỉ được gọi là “Main”.
Phương pháp chính làm gì?
Phương thức main() là chìa khóa để làm cho một chương trình Java có thể thực thi được. Đây là cú pháp cơ bản cho phương thức main():
lớp công khai MyMainClass {
public static void main(String[] args) {
// làm gì đó ở đây...
}
}
Lưu ý rằng phương thức main() được đặt trong dấu ngoặc nhọn và được khai báo bằng ba từ khóa: public, static và void :
- công khai : Phương pháp này là công khai và do đó có sẵn cho bất kỳ ai.
- tĩnh – Phương thức này có thể được thực thi mà không cần phải tạo một thể hiện của lớp MyClass.
- void : Phương thức này không trả về gì cả.
- (String[] args) : Phương thức này nhận một đối số chuỗi. Lưu ý rằng đối số args có thể là bất kỳ thứ gì; việc sử dụng “args” là phổ biến, nhưng chúng ta có thể gọi nó là “stringArray” để thay thế.
Bây giờ, hãy thêm một số mã vào phương thức main() để làm cho nó thực hiện điều gì đó:
lớp công khai MyMainClass {
public static void main(String[] args) {
System.out.println("Xin chào thế giới!");
}
}
Đây là câu “Xin chào thế giới!” chương trình, đơn giản như nó được. Phương thức main() này chỉ in dòng chữ “Xin chào thế giới!” Tuy nhiên, trong một chương trình thực , phương thức main() chỉ khởi tạo hành động và không thực sự thực hiện hành động.
Thông thường, phương thức main() phân tích cú pháp các đối số dòng lệnh, thực hiện một số cấu hình hoặc xác minh, sau đó khởi tạo một hoặc nhiều đối tượng để tiếp tục công việc của chương trình.
Tách lớp hay không?
Là một điểm vào chương trình, phương thức main() có một vị trí quan trọng, nhưng không phải tất cả các lập trình viên đều đồng ý về những gì nó nên chứa và mức độ tích hợp của nó với các chức năng khác.
Một số ý kiến cho rằng phương thức main() sẽ xuất hiện ở nơi mà nó thuộc về một cách trực quan, ở đâu đó trên đầu chương trình của bạn. Ví dụ: thiết kế này nhúng trực tiếp main() vào lớp tạo máy chủ:
Tuy nhiên, một số lập trình viên chỉ ra rằng việc đặt phương thức main() trong lớp riêng của nó có thể giúp làm cho các thành phần Java mà bạn đang tạo có thể sử dụng lại được. Ví dụ: bố cục bên dưới tạo một lớp riêng cho phương thức main(), cho phép các chương trình hoặc phương thức khác gọi lớp ServerFoo:
Các yếu tố của phương pháp chính
Bất cứ nơi nào bạn đặt phương thức main(), nó phải chứa các thành phần nhất định vì nó là điểm vào chương trình của bạn. Chúng có thể bao gồm việc kiểm tra các điều kiện tiên quyết để chạy chương trình của bạn.
Ví dụ: nếu chương trình của bạn tương tác với cơ sở dữ liệu, phương thức main() có thể là nơi hợp lý để kiểm tra kết nối cơ sở dữ liệu cơ bản trước khi chuyển sang chức năng khác.
Hoặc nếu yêu cầu xác thực, bạn có thể đặt thông tin đăng nhập vào hàm main().
Cuối cùng, thiết kế và vị trí của main() là hoàn toàn chủ quan. Thực hành và kinh nghiệm sẽ giúp bạn xác định nơi tốt nhất để đặt main(), dựa trên các yêu cầu của chương trình của bạn.