2017-02-21 13 views
5

Tôi làm việc trên một dự án Java tương đối phức tạp, nơi các lớp học thường có bốn hoặc năm tổ tiên trước Object. Cho một lớp như vậy, ví dụ: D trong một hệ thống phân cấp như thế này: Object > A > B > C > D, tôi muốn biết tất cả các giao diện mà nó thực hiện hiệu quả. Đó là, tôi cũng quan tâm đến việc thấy rằng thực hiện D, giả sử, Serializable ngay cả khi được khai báo trong lớp khai báo lớp B và ngay cả khi D không thực sự thực hiện bất kỳ phương pháp nào được chỉ định bởi giao diện (tự nhiên, nếu nói về Serializable).IntelliJ IDEA: Có cách nào để liệt kê tất cả các giao diện được thực hiện bởi một lớp và cha mẹ của nó không?

Một số nguồn tiềm năng của thông tin này tôi đã cố gắng bao gồm:

  • sử dụng "Nhóm theo Xác định Loại" trong cửa sổ cấu - nhưng điều đó sẽ không hiển thị giao diện rỗng (= giao diện mà không cần phương pháp), và
  • cửa sổ "Phân cấp" - nhưng không bao gồm giao diện khi xem thứ bậc cho một lớp.

Có cách nào để lấy thông tin này trong IDEA mà không phải mở tệp của tất cả các lớp tổ tiên của lớp được đề cập không?

+0

Không chắc về InteliJ nhưng bạn có thể làm điều đó trong một dòng một trong những mã http://stackoverflow.com/questions/6616055/get-all-derived-interfaces-of -a-class –

Trả lời

2

Bạn có thể thử

  • Mở tệp lớp.
  • Bấm Ctrl + H. (hoặc chỉ cần điều hướng qua cửa sổ dự án và nhấn các phím.)
  • Bạn có thể xem Sơ đồ phân cấp xuất hiện bên tay phải.
  • Thử chuyển sang số Phân cấp siêu kiểu (khoanh đỏ dưới hình ảnh). :))

enter image description here

+1

Cảm ơn, đó chính xác là những gì tôi đang tìm kiếm! – mkorvas

1

Nếu bạn cũng tốt với đại diện UML, sau đó sử dụng

Nhấn ⌥⇧⌘U hoặc ⌥⌘U trên mac

Nhấn Ctrl+Shift+Alt+U hay Ctrl+Alt+U trên cửa sổ mặc định keymap

Xem https://www.jetbrains.com/help/idea/2016.3/viewing-class-hierarchy-as-a-class-diagram.html

+0

Tôi dường như không có tùy chọn này bằng cách nào đó. Tôi có IDEA v2016.2.5, nhưng chức năng này đã có sẵn ở đây: https://www.jetbrains.com/help/idea/2016.2/viewing-class-hierarchy-as-a-class-diagram.html. Tuy nhiên, các phím tắt không hoạt động (tôi đang sử dụng Linux) và tôi không thấy tùy chọn đó trong menu ngữ cảnh. Nếu nó không phải do một số plugin bị thiếu, tôi đoán đó là vì dự án này là một sự kết hợp giữa Java và Groovy, có thể không được hỗ trợ bởi chức năng sơ đồ. – mkorvas

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