Sự khác biệt thực sự giữa hàm tạo tĩnh C# và khối tĩnh Java là gì?Là một khối tĩnh Java tương đương với một hàm tạo C# tĩnh?
Cả hai đều không có tham số. Cả hai chỉ được gọi một lần, khi lớp liên quan được sử dụng lần đầu tiên.
Tôi có thiếu thứ gì đó hay chúng giống nhau, chỉ với các tên khác nhau?
Rõ ràng Java sẽ không áp dụng bất kỳ cờ beforefieldinit nào, vì nó không được biên dịch thành MSIL. – Joren
@ Joren: Tôi nhận ra điều đó. Tuy nhiên, nó là một sự khác biệt trong hành vi của hai tính năng. – SLaks
Có, nhưng điểm của tôi (không rõ ràng, tôi thừa nhận) là: Có thể hữu ích hơn khi giải thích sự khác biệt về ngữ nghĩa mã (ví dụ thứ tự khởi tạo trường và hàm tạo tĩnh) so với chi tiết thực hiện. (Đặc biệt là khi các chi tiết không có ý nghĩa gì đối với một trong hai ngôn ngữ đang được xem xét.) – Joren