gpt4 book ai didi

java - 关于接口(interface)的一些问题

转载 作者:太空宇宙 更新时间:2023-11-03 13:48:12 25 4
gpt4 key购买 nike

问题一:

如果SSLSocketFactory是一个接口(interface),那么它是什么意思

     " private static SSLSocketFactory TRUSTED_FACTORY;" ?  

什么是 TRUSTED_FACTORY?接口(interface)实例?

问题2:

  final TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {

public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}

public void checkClientTrusted(X509Certificate[] chain, String authType) {
// Intentionally left blank
}

public void checkServerTrusted(X509Certificate[] chain, String authType) {
// Intentionally left blank
}
} };

TrustManager 是 javax.net.ssl.TrustManager ,X509TrustManager 是 javax.net.ssl.X509TrustManager。我知道 X509TrustManager 是 TrustManager 的子接口(interface),为什么我们可以使用关键字“new”实例化接口(interface)?还有,在实例化这个接口(interface)的时候声明一些像getAcceptedIssuers/checkClientTrusted这样的函数是什么意思?

最佳答案

问题 #1 的答案:如果 SSLSocketFactory 是一个接口(interface),那么 TRUSTED_FACTORY 是对一个对象的引用,该对象是实现 SSLSocketFactory 接口(interface)的类(不是接口(interface))的实例。

问题 #2 的答案:这段代码正在创建一个实现 X509TrustManager 接口(interface)的匿名类(不是接口(interface))的实例。 Java 允许您在另一个 Java 类中声明匿名类。参见 http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html .对于接口(interface)的所有实现,您需要提供接口(interface)中所有方法的实现(checkClientTrusted、checkServerTrusted 和 getAcceptedIssuers),但如果需要也可以添加新方法。

关于java - 关于接口(interface)的一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18265198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com