2012-06-28 59 views
24

Khi viết về các phương thức trong Java (tức là trong diễn đàn, danh sách gửi thư, trình theo dõi vấn đề, v.v.) nhiều người tách tên phương thức khỏi tên lớp bằng ký hiệu '#' thay vì toán tử . của Java; ví dụ: mọi người tham khảo Object#toString thay vì Object.toString. Cú pháp này xuất phát từ đâu?Tại sao một số người sử dụng phương pháp Class # thay vì Class.method trong thư từ?

+2

Ký hiệu dấu chấm có thể được xem là mã, trong đó trong Object.toString 'Object' sẽ là một cá thể hoặc ngược lại' toString' sẽ là một phương thức tĩnh. Ký hiệu dấu gạch ngang là Javadoc và như vậy là rõ ràng. – maksimov

Trả lời

21

Đó là ký hiệu được sử dụng trong nhận xét javadoc khi liên kết đến phương thức của lớp khác.

EDIT

Để thu thập thông tin bổ sung được cung cấp trong nhận xét:

  • @Hugo lưu ý rằng các # ký hiệu lần lượt xuất phát từ HTML neo
  • @maksimov chỉ ra rằng Object.method là cú pháp Java để gọi các phương pháp tĩnh, có thể gây hiểu nhầm

CẬP NHẬT

Java 8 mang cú pháp mới cho các tham chiếu phương thức, mà bây giờ dường như trở nên phổ biến hơn - vì vậy Object#toString có xu hướng được viết Object::toString.

+4

Điều này, đến lượt nó, xuất phát từ HTML Anchors, được biểu diễn bằng cách sử dụng ký hiệu này, vì mỗi phương thức là một neo nếu javadoc HTML được tạo ra. – WhyNotHugo

+0

tất cả đều có ý nghĩa. Tôi có thể bắt đầu sử dụng nó ngay bây giờ, nhưng tôi phải thừa nhận nó khá xấu xí và tôi thấy khó đọc hơn. Nhưng nó cung cấp sự định hướng trong trường hợp các lời gọi phương thức tĩnh. –

+0

Nhưng nếu Object là chữ thường thì sao? –

Các vấn đề liên quan