Cho chương trình sau đây. Hãy cho biết kết quả sau khi thực thi chương trình?
class tbt {
public static void main(String args[]) {
System.out.println("In first main()");
}
public static void main(char args[]) {
System.out.println(''
a '');
}
}
class tbt {
public static void main(String args[]) {
System.out.println("In first main()");
}
public static void main(char args[]) {
System.out.println(''
a '');
}
}
public static void main(String args[]) {
System.out.println("In first main()");
}
public static void main(char args[]) {
System.out.println(''
a '');
}
}
Trả lời:
Đáp án đúng: C
Trong Java, một lớp có thể có nhiều phương thức `main`, miễn là chúng có signature khác nhau (ví dụ: số lượng tham số khác nhau hoặc kiểu dữ liệu của tham số khác nhau). Khi chạy chương trình, JVM sẽ tìm phương thức `main` có signature `public static void main(String[] args)` để thực thi. Trong trường hợp này, chương trình có hai phương thức `main`, một với tham số là mảng các String (`String args[]`) và một với tham số là mảng các char (`char args[]`). Khi chương trình được chạy, JVM sẽ gọi phương thức `main` với tham số là mảng các String. Do đó, chương trình sẽ biên dịch thành công và in ra "In first main()".





