2015-12-08 64 views
0

java.net.URLConnetion.javajava.net.HttpURLConnection.java中,分別只有connect()disconnect()的抽象方法。connect()和disconnect()在哪裏實現?

@ abstract public void connect() throws IOException; 
@ public abstract void disconnect(); 

有誰知道實施它們的實際代碼在哪裏?

我想知道HttpURLConnection如何與TCP堆棧進行通信。

此外,還有更多的抽象函數,如usingProxy()。他們的代碼在哪裏?

回答

0

java.net.HttpURLConnection.java具有實現該方法的實現HttpsURLConnectionImpl。它使用代理DelegateHttpsURLConnection,它擴展了AbstractDelegateHttpsURLConnection,它實現了connect()方法

大多數IDE的你可以跟蹤所有的類,對象和方法,並下載源文件。 FX。 IntelliJ可以爲你做這個。

+0

哦,謝謝你的回答! 是否自動完成? 我只需要調用 HttpURLConnection con =(HttpURLConnection)url.openConnection(); con.connect() 連接到服務器。 怎麼沒有明確的呼叫 HttpsURLConnectionImpl DelegateHttpsURLConnection AbstractDelegateHttpsURLConnection ? @順便說一句,爲什麼你寫的所有類都包含http的'? –

+0

我想我有一個插件可以自動反編譯源文件(Java Bytecode Decompiler)來自動反編譯源文件。如果可用,IntelliJ通常會要求您下載原始源文件。 –

+0

我剛剛拿了一個'HttpURLConnection'的隨機實現,其中有多個。 –