为什么在获得套接字工厂时我们必须将ssl工厂实例强制转换为同一个类?即
SSLSocketFactory factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
为什么不这样做?getDefault()
不会返回类的实例吗?
SSLSocketFactory factory = SSLSocketFactory.getDefault();
答案 0 :(得分:1)
这是因为SSLSocketFactory的getDefault
方法不返回SSLSocketFactory
,而是返回SocketFactory
。
在此处查看getDefault
方法的返回类型:https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLSocketFactory.html