java - Java中调用匿名类的多个方法的语法?

标签 java documentation anonymous-class

Notification.Builder notificationBuilder = new Notification.Builder(
                        getApplicationContext())
                    .setTicker(tickerText)
                    .setSmallIcon(android.R.drawable.stat_sys_warning)
                    .setAutoCancel(true)
                    .setContentIntent(mContentIntent)
                    .setSound(soundURI)
                    .setVibrate(mVibratePattern)
                    .setContent(mContentView);

在匿名[--更正:它不是匿名--]类上调用多个方法。每行都以 .<method name> 开头。关于这方面的官方 Java 文档在哪里?我希望有一个关于 http://docs.oracle.com/javase/ 的页面这解释了它。

PS。我刚刚了解到这称为“方法链接”。那么关于这个概念的官方 Java 文档(如果有的话)在哪里?

最佳答案

你问:

So where is the official Java documentation, if any, on this concept?

如果您的方法返回一个对象,您可以在返回的对象上调用另一个方法,就这么简单。上面的所有方法都返回 this,因此如果 method1、method2 和 method3 都返回 this,您可以这样做:

MyClass myVar = new MyClass().method1().method2().method3();

这与:

相同
MyClass myVar = new MyClass();
myVar.method1();
myVar.method2();
myVar.method3();

Java 方法调用的文档可以在 JLS 第 15.12 节中找到。

关于java - Java中调用匿名类的多个方法的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22132997/

相关文章:

c# - 描述 ASMX 网络服务 WebMethod 参数

java - 这段java代码中的 "call"是什么意思

java - 传递给类构造函数的匿名类中未调用的打印语句

Java匿名内部类

java - 将带有 TextField 的 Java 程序转换为 swing JTextField

java - Mac OS X 如何确定应用程序需要 Java?

reactjs - TypeDoc 提示 "Cannot find module"

architecture - 编写可维护的事件驱动代码

java - 有没有办法触发 Maven Appengine Devserver 自动刷新静态文件?

java - 将 css 导入样式/主题