函数体作为方法调用的参数

诺曼·K

我正在阅读一些创建连接并发送SOAP消息的程序。我遇到了一条奇怪的声明,其中在函数参数中传递了包括主体在内的完整功能。有人可以解释一下吗?请注意,这是一个有效的代码。

//Open up connection 
httpsConnection = (HttpsURLConnection) new URL(url).openConnection();

httpsConnection.setHostnameVerifier(new HostnameVerifier() {
  @Override
  public boolean verify(String hostname, SSLSession session) {
   return true;
   }
 });
丹尼尔·卡普兰

这是一个匿名内部类。您可以在这里了解更多信息:http : //docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html

匿名类使您可以使代码更简洁。它们使您可以同时声明和实例化一个类。它们就像本地类,只是它们没有名称。如果只需要使用一次本地类,则使用它们。

假设这段代码是这样写的:

httpsConnection = (HttpsURLConnection) new URL(url).openConnection();

httpsConnection.setHostnameVerifier(new MyHostnameVerifier());

// another class file

public class MyHostnameVerifier extends HostnameVerifier() {
  @Override
  public boolean verify(String hostname, SSLSession session) {
   return true;
   }
 });

此代码将具有完全相同的功能。还有其他一些细微差别可能不适用于您的示例,但是如果您有兴趣的话,可以在链接中阅读它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

调用作为参数传递给Frida中的钩子函数的Java对象的方法

来自分类Dev

调用以NULL作为参数的函数

来自分类Dev

Malloc调用作为函数参数

来自分类Dev

函数调用作为参数值?

来自分类Dev

在R函数中调用“ self”作为参数

来自分类Dev

将函数调用作为参数传递

来自分类Dev

将成员函数体作为宏参数传递

来自分类Dev

Java函数作为方法参数

来自分类Dev

在C ++中将命令行参数作为函数调用的简单方法?

来自分类Dev

作为方法调用参数

来自分类Dev

调用作为参数传递的函数

来自分类Dev

从控制台调用函数作为参数

来自分类Dev

调用方法作为参数

来自分类Dev

如何调用函数作为参数,我试过这种方法不起作用?

来自分类Dev

以dict作为参数调用函数

来自分类Dev

Python调用函数作为对象的参数传递

来自分类Dev

在Powershell cmdlet中将函数作为参数调用

来自分类Dev

C ++函数调用char作为参数

来自分类Dev

如何调用多个命令作为函数的参数?

来自分类Dev

Malloc调用作为函数参数

来自分类Dev

在R函数中调用“ self”作为参数

来自分类Dev

如何调用函数作为参数

来自分类Dev

创建向量作为函数调用参数

来自分类Dev

调用构造函数作为方法

来自分类Dev

从Single View Application(objective-c)以函数作为Cocoa Touch Framework(swift)的参数的调用方法

来自分类Dev

调用对象内的函数作为指令的参数

来自分类Dev

局部变量作为函数调用的参数

来自分类Dev

Firebase 函数可调用 - 图像作为参数

来自分类Dev

调用期望 const char8 string[] 作为参数的 ac 函数的正确方法