tôi thấy mã này trong một trong những kỳ thi chứng chỉ:phương pháp chính là cuối cùng trong java
public class SimpleClass
{
int num;
final static void main(final String args[])
{
String s1="new";
String s2="String";
String s3="Creation";
System.out.println(s1+s2+s3);
}
}
Tôi biết rằng phương pháp cuối cùng là những người mà không phải là có thể ghi đè lên. Tôi cũng biết rằng nếu chữ ký thông thường của phương pháp main
bị thay đổi, nó sẽ được xử lý như bất kỳ phương pháp thông thường nào khác của JVM, và không phải là main()
.
Tuy nhiên, các tùy chọn dành cho tôi là:
1> Code won't compile
2> Code will throw an exception
3> will print newStringCreation.
Nó không thể chạy chương trình này trên IDE Eclipse. Bất cứ ai có thể giải thích những gì nên được câu trả lời và tại sao?
Ok hãy để tôi đặt câu hỏi của tôi như thế này - Khi tôi thực hiện chương trình của mình, điều gì sẽ xảy ra? Tôi nên chọn tùy chọn nào trong số 3 tùy chọn ở trên?
Câu hỏi khó chịu. 'final' không quan trọng. Nhưng 'main' cũng không công khai, điều đó sẽ làm tôi lo lắng. – Thilo
Có, mã sẽ biên dịch, nó sẽ không chạy. – Davio
Vâng, xác định "chạy"; nếu điều này có nghĩa là bạn khởi chạy nó bằng 'java SimpleClass' thì nó sẽ ném một ngoại lệ, vì như bạn đã đề cập đến chính mình, trên thực tế, không có' main() 'để chạy. Ngoài ra, bạn không thể ghi đè các phương thức 'static' theo bất kỳ cách nào, hình dạng hoặc biểu mẫu, vì vậy tuyên bố chúng' final' là thừa. – fge