3 回答

TA貢獻1744條經驗 獲得超4個贊
一種方式是,按照慣例,Java 開發人員使用他們的 API 發布 Javadoc。有時在同一個 jar 文件中,但通常在從同一個地方下載的具有相似名稱的單獨文件中。
如果您沒有 Javadoc,則可以通過反射找到庫的公共接口:想想 C++ RTTI 的強項,每個公共類名、每個公共方法名及其簽名,包括其參數的名稱,都是可見的并且可以在運行時和設計時以編程方式檢索。IDE 是幫助您解決此問題的好工具;它使用反射來告訴您可用的類,并在您打開方法名稱后的括號時立即向您顯示方法的簽名。

TA貢獻1806條經驗 獲得超5個贊
簡單地說:你不能。
沒有適用于 Java 的通用規則如何準確地做到這一點。當然,您可以查看實際的interface
java 類,也可以搜索公共類及其公共方法。但是沒有一個“中心”的地方必須匯集這些信息。
盡管如此,使用最近的 Java,您將定義清晰的模塊,并編寫良好的 Javadoc 注釋來描述您的包以及如何使用它們。
換句話說:有一些概念可以幫助Java開發人員描述“這是一個供外部使用的接口,這里是如何使用該接口的信息”。但是你如何做到這一點是你的選擇。
從這個角度來看,它與 C++ 非常相似。當頭文件中的內容沒有以合理的方式編寫時,將頭文件和 cpp 源文件分開對您沒有幫助。
最后:真正的答案可能是:您依賴于您的 IDE。當我想找到接口的用法或實現時,我會去問我的 IDE,它知道我的項目并且可以向我展示這些東西。

TA貢獻1831條經驗 獲得超10個贊
在 java 中,您可以使用publicjar 文件中定義的所有類。
在類中,您可以調用所有公共方法。
您可以使用其他兩個可見性級別,受保護的可見性和默認可見性(沒有任何可見性關鍵字),可以在一些限制下使用。
這是一個完整的可見性表(從另一個答案復制):
│ Class │ Package │ Subclass │ Subclass │ World
│ │ │(same pkg)│(diff pkg)│
────────────┼───────┼─────────┼──────────┼──────────┼────────
public │ + │ + │ + │ + │ +
────────────┼───────┼─────────┼──────────┼──────────┼────────
protected │ + │ + │ + │ + │ -
────────────┼───────┼─────────┼──────────┼──────────┼────────
<default> │ + │ + │ + │ - │ -
────────────┼───────┼─────────┼──────────┼──────────┼────────
private │ + │ - │ - │ - │ -
+ : accessible - : not accessible
這是列的定義:
類 - 同一個類(這不是您的情況,因為您使用的是由外部庫定義的類)
包 - 在您需要訪問的類的同一包中定義的任何類
子類(同一個包) - 任何作為您需要訪問并在同一個包中定義的類的子類的類
子類(不同的包)- 作為您需要訪問并在不同包中定義的類的子類的任何類
World - 任何其他類(不是同一個包,也不是子類)
添加回答
舉報