Có, chúng ta có thể thực thi chương trình Java không có phương thức main bằng cách sử dụng khối static.
Khối static trong Java là nhóm câu lệnh thực thi chỉ một lần khi lớp được nạp vào bộ nhớ bởi Java ClassLoader, còn gọi là khối khởi tạo tĩnh (static initialization block). Khối khởi tạo tĩnh đi thẳng vào bộ nhớ stack.
Ví dụ
class StaticInitializationBlock {
static {
System.out.println("class without a main method");
System.exit(0);
}
}
Trong ví dụ trên, chúng ta thực thi chương trình Java không có main method (hoạt động đến Java 1.6). Java 7 và mới hơn không cho phép vì JVM kiểm tra sự tồn tại của main method trước khi khởi tạo lớp.
Kết quả
class without a main method.