Difference between URLConnection, HttpURLConnection and HttpsURLConnection

URLConnection is an abstract class so, you could never instantiate an object of that type.

HttpURLConnection extends URLConnection and provides fields and methods specific to an HTTP URL, such as, HTTP_CLIENT_TIMEOUT or setRequestMethod.

HttpsURLConnection extends HttpURLConnection and provides fields and methods specific to an HTTPS URL.


URLConnection is the base class.

HttpURLConnection is a derived class which you can use when you need the extra API and you are dealing with HTTP or HTTPS only.

HttpsURLConnection is a 'more derived' class which you can use when you need the 'more extra' API and you are dealing with HTTPS only.

All three of them are abstract, and implemented by specific classes you aren't privy to.